»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
lizmat so what is the status on Proc::Async wrt ".start" and ".finish" ? 00:01
japhb kbenson just submitted the perl6-course deck to HN. Anyone with an account there that would like to upvote, I guess now is the time. :-) 00:04
news.ycombinator.com/item?id=10168170
00:06 colomon left
japhb Looks like there's a post on www.reddit.com/r/perl6 00:07
*also
00:07 colomon joined
japhb Apologies for the rah-rah, but this really feels like one to advertise 00:07
colomon upvoted 00:08
and now I’ll actually look at it. ;)
this was what was going on Saturday while we were hackathoning? 00:09
dalek ast/glr: ccb5d4e | skids++ | S32-list/seq.t:
Add a cacophony of slice assignment tests involving Seqs
00:11
00:12 colomon left 00:16 Alina-malina left 00:19 yqt left 00:20 colomon joined
japhb masak++ # masak.org/carl/yapc-eu-2015-interes...s/talk.pdf 00:31
That one was definitely like " snuggling up with your 00:32
favorite cozy language, Perl 6."
00:34 colomon left 00:39 dha left, dha joined 00:44 abaugher left 00:45 laouji joined
lizmat sleep& 00:47
tony-o is there a mechanism for react whenever process is idle? 00:48
00:50 abaugher joined
japhb tony-o: What is your definition of idle? 01:00
pink_mist is now imagining whenever ... { } whenever ... { } else { #we're idle } :P 01:10
01:18 sufrostico left 01:23 dha left 01:24 rangerprice left 01:43 nits joined, nits is now known as Guest34789 01:45 ilbot3 left 01:46 ilbot3 joined 01:59 tinyblak joined 02:08 noganex_ joined 02:10 noganex left 02:11 Guest34789 left 02:19 laouji_ joined, laouji left 02:39 tinyblak left 02:44 tinyblak joined 02:48 kaare_ joined
ShimmerFairy [Coke]: for the record, my change on that was just to match existing behavior. I'd prefer if you could do +"-:16<-42>" and it came out to 0x42 (double negation) :) 02:59
03:10 ShimmerFairy left 03:22 ShimmerFairy joined 03:29 qnap``` joined 03:42 lizmat_ joined 03:43 tinyblak left, tinyblak joined 03:44 tinyblak left 03:45 lizmat left 04:01 AlexDaniel left 04:03 BenGoldberg left 04:16 tinyblak joined 04:17 tinyblak left 04:33 Alina-malina joined 04:35 aborazmeh joined, aborazmeh left, aborazmeh joined 04:38 tinyblak joined 04:42 tinyblak left
_itz pl6anet.org/stats/ (50000+ hits per month last month) 04:47
05:10 mohij joined, mohij left 05:14 khw left
dalek c: d20da36 | paultcochrane++ | lib/Type/Temporal.pod:
Add an alarm clock example for sleep-till
05:24
05:28 skids left 05:45 domidumont joined 05:50 domidumont left 05:53 domidumont joined 05:58 [Sno] joined 06:01 diana_olhovik_ joined 06:02 [TuxCM] left 06:11 lizmat_ left
FROGGS if there is anybody around with an osx box who would like to try a branch, please ping me 06:13
bbi10 06:15
06:15 FROGGS left 06:19 masak_venue joined
masak_venue good morning, #perl6 06:20
T minus 10 minutes for nine++'s talk
06:20 RabidGravy joined
masak_venue 'If you go look at the Perl 6 FAQ, there's a section, "Why should I learn Perl 6?". It lists a grab-bag of language features, rather than a set of problems that Perl 6's new design can solve.' 06:22
from news.ycombinator.com/item?id=10168170
just wanted to flag that one up. seems we can do better on that FAQ answer.
the whole HN thread is rather on topic and interesting, in my opinion. 06:23
even though, as one might expect, a fair bit of it is "why Perl 6?"
06:24 vendethiel joined
masak_venue pink_mist: I think `whenever {} else {}` would be a non-good idea from a perf perspective 06:27
RabidGravy I think the headline could be "less boilerplate" 06:28
06:29 xdbr joined
masak_venue pink_mist: also, using `else` for something other than `if` -- or using it for loops at all -- feels a little too much like Python's questionable for/else 06:32
ShimmerFairy masak_venue: well, 'if' or 'when' :) 06:33
masak_venue ShimmerFairy: right, but even `when` is just a funny kind of `if`
ShimmerFairy I meant to say 'with', oops
but still yes to what you said :) 06:34
06:34 lizmat joined
vendethiel masak_venue: I think for/else is a good idea, but I dislike python's version (I prefer one where else is invoked if no iterations were made) 06:35
masak_venue vendethiel: heh.
vendethiel: I think at this point I'm of the (strange) opinion that Python's design choice is surprising/unintuitive but "right" 06:36
"it didn't issue a `break`" is strictly more powerful than "it didn't iterate" 06:37
also, the use case for it is "else (if we didn't find anything)", and "find anything" is usually associated with issuing a `break`
ShimmerFairy are there any cases where wrapping the loop in a conditional is really that much worse?
masak_venue yes-ish 06:38
I mean, there are worse code smells out there, but you're teetering on breaking DRY when you do `if @things { for @things { ... } } else {}` 06:39
06:39 FROGGS joined
ShimmerFairy masak_venue: I can see why a break would be more powerful to do an else on, but there are phasers to be put in a loop, IIRC :) . An else-ish thing after a loop would be more useful for a loop not running at all 06:40
06:40 _mg_ joined
lizmat perhaps a NONE phaser ? 06:40
FROGGS morning
lizmat to be fired whenever we didn't do *any* iterations in a loop ?
ShimmerFairy mornin' FROGGS o/ 06:41
lizmat FROGGS o/
masak_venue m: for [1, 2, 3], [] -> @things { unless (for @things { .say }) { say "no iterations" } } 06:42
GLRelia rakudo-moar 62e17b: OUTPUT«1␤2␤3␤no iterations␤»
camelia rakudo-moar e6f360: OUTPUT«1␤2␤3␤no iterations␤»
masak_venue I'm not sure how to do the "no break" thing idiomatically in Perl 6.
FROGGS lizmat: either that or allowing 'else' after loops :o)
masak_venue FROGGS: see backlog. 06:43
ShimmerFairy Interesting idea on the phaser, but that might be problematic, depending on what kind of performance gain we get from skipping looking in a loop's block
FROGGS masak: I did
masak_venue one problem would be that the NONE phaser would run inside a scope that wasn't entered.
lizmat relatedly, I think we might need the opposite of a "once" block
masak_venue (which is allowed, but a little uncomfortable)
lizmat a block that will execute always *except* the first time 06:44
ShimmerFairy I could also see something like 'if for @stuff { ... } else { ... }'
masak_venue lizmat: maybe we should call it a "nonce" block :P
lizmat masak_venue: the thought has crossed my mind :-)
masak_venue or call it "NEVAR" or something
"NOWAI" 06:45
ShimmerFairy while $condition { ... } meanwhile { ... } :P 06:46
masak_venue ShimmerFairy: the VM is not "looking in a loop's block" in any relevant sense. it's just running code it was told to run.
ShimmerFairy yeah, I figured my performance concern probably isn't much of one in any case :) 06:47
masak_venue if that's a real worry, then you need a lower-level language
but it probably isn't
ShimmerFairy masak_venue: based on my understanding, it might mean an extra subscripting call on QAST blocks in places to get to the proposed new phaser. the horror :P . 06:48
vendethiel masak_venue: seems like iffor / nonce kind a thing would be an easy macro to add anyway..:) 06:51
.oO( did he just say "easy"? )
masak_venue vendethiel: yes, I think so
modulo the usual "how to extend the language from a macro" open questions 06:52
ShimmerFairy masak_venue: to me, the first design problem that Perl 6 is there for is text processing, esp. text with non-trivial syntaxes (since grammars are soooooooooo awesome) 06:53
masak_venue I've been talking about it with TimToady++ a little during YAPC::Europe 06:54
he has some ideas that might help 06:55
ShimmerFairy I'd be interested in hearing what he thinks P6 is best for solving :) 06:56
FROGGS m: say $*KERNEL.name # lizmat: that's darwin for you, right?
GLRelia rakudo-moar 62e17b: OUTPUT«linux␤»
camelia rakudo-moar e6f360: OUTPUT«linux␤»
lizmat $ 6 'say $*KERNEL.name' 06:57
darwin
FROGGS: indeed :-)
FROGGS thanks :o)
RabidGravy it should be as there is a bit of code in Process.pm tjat depends on that
06:59 tinyblak joined 07:01 tinyblak left
ShimmerFairy lizmat: by the way, that sorting thing I had trouble with on val()? Turns out, adding a simple check to see if there are any digits in the string brought 0.^methods.sort down from 90s to 25s :P (further improvements I've done have brought it down to the tens of seconds, still twice as long as before val) 07:02
I could push the branch if you're ever interested in testing its startup time now. 07:03
lizmat I won't have any time today... tomorrow would be better for me 07:04
ShimmerFairy lizmat: ok. You don't have to, I'm just offering in case you're interested in doing further comparisons :)
lizmat I am :-) just not today :-)
ShimmerFairy I'm also considering making a compile-time version of val() inside World.nqp or such, to handle strings with C<compile_time_value>s and perhaps free up some execution time :) 07:05
07:05 virtualsue joined
lizmat (/me is doing jnthn's talks this afternoon) 07:05
*talk 07:06
ShimmerFairy cool :)
07:08 telex left 07:10 tinyblak joined, telex joined
ShimmerFairy BTW, am I right in remembering that P6 _used_ to be the normal, direct successor to P5, until things morphed into the current sibling-like relationship between the two langs? (If so, I'd like to add that historical explanation to the FAQ) 07:14
07:14 tinyblak left
FROGGS ShimmerFairy: that was the original idea, aye 07:15
07:16 darutoko joined
RabidGravy yeah, but it's likely that went out the window after 5.8.0 came out :) 07:16
ShimmerFairy Yeah, my understanding is "P6 started when P5 was in a slump, more work went into P5 after a while, now they're parallel-y organized, instead of serially" :)
FROGGS I can just guess but that is also what I am thinking 07:17
lizmat I have an opinion about this ;-)
FROGGS *g*
07:18 cognominal joined, Heather joined
ShimmerFairy It's tempting for me to think "gee, people should've just contributed to P6 instead of giving up and going back to 5", but I assume rakudo wasn't so clearly the main impl to work on (or even existed) back then :) 07:18
Heather hi, Pugs is still being in development?
moritz Heather: no
(unless you do it :-)
vendethiel Heather: hey :). no, sadly
ShimmerFairy Not really, though I did see a commit recently that at least made it run on newer systems :)
RabidGravy I think we should re-invent the origin story like they do with superhero movies 07:19
FROGGS Heather: long time no read!
Heather FROGGS hi
lizmat
.oO( Reboot of $_ )
vendethiel Heather: do you want to make bikini run on pugs? *g* 07:20
Heather -_-' vendethiel I wish I can at least repair it 07:21
vendethiel Heather: did new idris break it?
Heather vendethiel yes
vendethiel aw :(
Heather vendethiel and error is as mystic as usual 07:22
vendethiel yes, that sounds idris-ish :-).
Heather vendethiel unless I will create yet another minimalistic reproduction
vendethiel well... it's not alike mystic error this time, this time it's error inside error because it has no relation with that is really going wtong 07:23
vendethiel
.oO( unification is both humanity's greatest strength, and its greatest weakness )
masak_venue hi Heather, welcome back 07:24
07:24 masak_venue left
vendethiel I should get going, but anyway, Heather, you've contributed to Agda, Idris shouldn't be much harder :P. 07:24
Heather vendethiel agda refused my change! :) 07:25
masak hi
07:25 virtualsue left
Heather hell... rakudo installer is still being that kind... 07:26
lizmat what kind? 07:28
Heather lizmat it just unpack into folder you can't specify, without even adding it to path 07:29
panda --version returns usage but doesn't tell version
lizmat well, I guess rakudo is still too modest wrt to global installation
ShimmerFairy moarvm also still doesn't default to /usr/local for linuxes, like any sensible compilable program :P 07:30
07:30 tinyblak joined
lizmat about a week ago, I added infix == eq eqv candidates for 2 Promises 07:30
the idea was that you would be able to say: 07:31
m: say (start { 42 }) == start 42
GLRelia rakudo-moar 62e17b: OUTPUT«True␤»
camelia rakudo-moar e6f360: OUTPUT«True␤»
lizmat in other words, the infix operator would block until both results are there, and then do the comparison
is this something that we would like to keep? 07:32
Heather pugs moved to stack :/
FROGGS it feels rather magical but I have not enough information to judge on that
ShimmerFairy lizmat: I feel like == and eq would probably want results, since they're coercive ops, but perhaps eqv is on the Promises themselves? 07:33
lizmat the example jnthn used in his talk, would basically become:
sub MAIN($file1, $file2) { 07:34
start { from-json(slurp($file1)) } eqv start from-json(slurp($file2))
?? 'Files contain identical JSON'
!! 'Files contain different JSON';
}
ShimmerFairy lizmat: in the sense of avoiding a couple declaration lines beforehand (my $json'd1 = start ...; my $json'd2 = start ...; $json'd1 eqv $json'd2), that might be nice. 07:35
lizmat: but are there cases aside from the literal 'start' keyword that it might be helpful? I imagine "real" starts could be a too verbose to inline in an expression. 07:36
moritz my $same = [eqv] map start { from-json(slurp($_)) }, $file1, $file2 07:37
lizmat Proc::Async.start/finish returns a promise
moritz erm, the start should be inside the block, of course
lizmat anyway, I think I'll leave that out the presentation for now... :-) 07:38
ShimmerFairy I don't think I mind comparsion ops being transparent for Promises, as long as working with the Promises themselves don't get too hard for however common it'd be to interact with those objects :) 07:39
Heather I can't read my own perl -_-' 07:44
07:46 Loren_ joined 07:49 vendethiel left
dalek q: e808a96 | ShimmerFairy++ | answers.md:
Add a bit to the "Why not rename it?" question

Just a small historical explanation for why it has the name "Perl 6" in the first place, since that would likely aid understanding of this question :) .
07:52
07:55 kjs_ joined 07:59 virtualsue joined 08:00 _itz_ joined 08:01 z448 joined 08:03 _itz left 08:04 FROGGS left 08:05 z448 left, virtualsue left 08:07 z448 joined 08:10 z448 left, kjs_ left
lizmat what was the backronym for "Cool" again ? 08:20
(it's not in S99)
ShimmerFairy <something> Object Oriented Loop is what I remember 08:21
jdv79 "Cool, also known as the Convenient OO Loop, is a base class for strings, numbers and other built-in classes that you are supposed to use mostly interchangeably." - doc.perl6.org/type/Cool 08:28
lizmat jdv79++ 08:30
08:30 lizmat left 08:42 kjs_ joined 08:52 btyler_yapc joined, zakharyas joined
RabidGravy is there a thingy for testing whether some code made any warnings (whilst actually hiding the warnings preferably?) 08:53
cdc m: say '/etc/wgetrc'.IO.e 08:56
GLRelia rakudo-moar 62e17b: OUTPUT«True␤»
camelia rakudo-moar e6f360: OUTPUT«True␤»
cdc say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so
m: say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so
GLRelia rakudo-moar 62e17b: OUTPUT«Cannot find method 'Any'␤ in whatevercode at /tmp/pBrLk3Ugbr:1␤␤Incompatible MROs in P6opaque rebless␤ in any mixin at src/gen/m-Metamodel.nqp:1273␤ in whatevercode at /tmp/pBrLk3Ugbr:1␤␤False␤»
camelia rakudo-moar e6f360: OUTPUT«Method 'hyper' not found for invocant of class 'List'␤ in block <unit> at /tmp/KKX587MC47:1␤␤»
btyler_yapc hi folks -- I found a repeatable segfault that I _suspect_ is trying to write to a closed socket: gist.github.com/kanatohodets/66427...7c2616f6f2 08:57
cdc m: say '/etc/wgetrc'.IO.lines.map(* ~~ /<{'.'}>/).all.so
GLRelia rakudo-moar 62e17b: OUTPUT«False␤»
camelia rakudo-moar e6f360: OUTPUT«False␤»
btyler_yapc this happens with spesh, jit, and optimizations enabled or disabled. I'm happy to start trying to expose moar's async socket close to nqp if it seems like that's the right direction 08:58
08:58 Ven joined 08:59 FROGGS joined
cdc What does "Incompatible MROs in P6opaque rebless" ^^^ mean? It appears only when using .hyper. 09:00
diakopter lol GLRelia 09:02
09:05 rindolf joined
moritz cdc: do you want it more specific than "bug"? 09:07
cdc moritz: I was not sure :) 09:08
moritz btyler_yapc: please opne a ticket (email to [email@hidden.address]
09:08 lizmat joined
moritz (and yes, debugging help is also appreciated :-) 09:10
09:10 z448 joined, z448 left
btyler_yapc moritz: nine just suggested trying to confirm the write-after-close issue by sleeping before socket close, and what do you know, no segfault :) 09:11
moritz btyler_yapc: aye; but it shouldn't segfault :-) 09:13
btyler_yapc right, of course -- this was just debugging 09:14
this was just to try to narrow down the segfault cause 09:15
09:18 andreoss joined 09:20 laouji_ left 09:21 laouji joined, Ven left 09:22 espadrine joined 09:23 laouji left, laouji joined 09:25 laouji left
andreoss m: my @z = 1,2,3; my @x = gather take |@z; say @x. perl 09:25
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0dV8RAOH7o␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/0dV8RAOH7o:1␤------> 031,2,3; my @x = gather take |@z; say @x. 7⏏5perl␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EC0sdkOMF4␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/EC0sdkOMF4:1␤------> 031,2,3; my @x = gather take |@z; say @x. 7⏏5perl␤»
andreoss m: my @z = 1,2,3; my @x = gather take |@z; say @x.perl
GLRelia rakudo-moar 62e17b: OUTPUT«[(1, 2, 3),]␤»
camelia rakudo-moar e6f360: OUTPUT«[1, 2, 3]<>␤»
09:25 laouji joined
andreoss which is correct? 09:25
moritz well, glr correctly implements the new semantics 09:26
09:26 laouji left 09:27 laouji joined 09:30 zakharyas left 09:33 zakharyas joined 09:43 larion joined 09:44 rmgk left, rmgk_ joined, rmgk_ is now known as rmgk
andreoss can i specify with use v... ; to which version my code belongs? 09:46
moritz yes, but currently only 'use v6' is implemented (and possibly 'use v5' if Inline::Perl5 is installed, dunno) 09:47
andreoss i mean like use v6 'glr';
moritz nope
09:52 kjs_ left
ShimmerFairy the glr branch is to be merged into nom Real Soon™, so it wouldn't be necessary for that specific thing in the future :) 09:52
And anyway, the 'v' pragma(?) is for Perl versions, not compiler versions.
RabidGravy and it doesn't really do much in P6 anyway 09:54
m: use v7
GLRelia ( no output )
camelia ( no output )
ShimmerFairy As of now, at least, it's mainly useful for telling a Perl 5 compiler to back off :)
andreoss m: say v6 cmp v5 09:55
GLRelia rakudo-moar 62e17b: OUTPUT«More␤»
camelia rakudo-moar e6f360: OUTPUT«More␤»
ShimmerFairy m: use v5 09:56
GLRelia rakudo-moar 62e17b: OUTPUT«===SORRY!===␤Could not find Perl5 in any of:␤ file#/home/steve/.perl6/2015.07.1-721-g62e17b4/lib␤ inst#/home/steve/.perl6/2015.07.1-721-g62e17b4␤ file#/home/steve/sandbox/perl6/rakudo/install/share/perl6/lib␤ file#/home/steve/sandbox/perl6/ra…»
camelia rakudo-moar e6f360: OUTPUT«===SORRY!===␤Could not find Perl5 in any of:␤ file#/home/camelia/.perl6/2015.07.1-215-ge6f3602/lib␤ inst#/home/camelia/.perl6/2015.07.1-215-ge6f3602␤ file#/home/camelia/rakudo-inst-2/share/perl6/lib␤ file#/home/camelia/rakudo-inst-2/share/per…»
09:59 zakharyas left 10:04 zakharyas joined 10:07 virtualsue joined 10:08 kjs_ joined
RabidGravy I'm about to try to print something, there may be swearing and destruction 10:13
10:14 Heather left 10:24 btyler_yapc left 10:25 _mg_ left
jnthn lizmat: Not fully up on backlog, but: no, I think I like the only way to wait on a Promise is .result (blocking), await (efficient) and .Supply (reactive); I'd rather keep such things visible and spelled out, not have them implicit. 10:27
yoleaux 29 Aug 2015 21:28Z <laben> jnthn: can you check why "say \(Hash) ~~ :(*@a)" and "say \(List) ~~ :(*@a)" die with exception "Invocant requires an instance of type Hash|List, but a type object was passed." in the binder?
31 Aug 2015 21:38Z <timotimo> jnthn: when you're back, could you upload t.h8.lv/MoarVM-2015.08.tar.gz to moarvm.org?
3 Sep 2015 23:53Z <japhb> jnthn: jnthn.net/papers/2015-spw-perl6-course.pdf is fantastic! Some variation on that needs to be part of a future "getting started" section on perl6.org.
jnthn lizmat: Otherwise it'll become a "list to remember" 10:28
lizmat jnthn 10:29
jnthn: ok
baest do perl6 have autoload?
10:31 btyler_yapc joined
btyler_yapc did some more fruitful digging on the segfaulty thing -- the handle is NULL by the time the write task takes place; it's clear that this isn't an issue of lacking nqp::asyncclose because closefh already maps to the right thing in moar for async sockets 10:33
10:34 rurban joined
lizmat m: class A { method FALLBACK($a) { say $a } }; A.foo # baest AUTOLOAD in Perl 6 10:36
GLRelia rakudo-moar 62e17b: OUTPUT«foo␤»
camelia rakudo-moar e6f360: OUTPUT«foo␤»
baest lizmat: thanks! I just saw the method CANDO, is that outdated? 10:38
10:40 masak_venue joined
masak_venue hey, #perl6, I wrote this: gist.github.com/masak/b84a87a694217c9508d6 10:40
I was sad to see I got a scary exception when running it :/
maybe someone can help me?
diegok -o/ masak_venue 10:41
masak_venue \o
lizmat baest: I think CANDO is still NYI
virtualsue m: say (1,2).WHAT 10:42
GLRelia rakudo-moar 62e17b: OUTPUT«(List)␤»
camelia rakudo-moar e6f360: OUTPUT«(Parcel)␤»
10:42 tinyblak left, tinyblak joined
masak_venue I think "Cannot invoke this object" in this case is at the very least unexpected, and probably reportable as a bug 10:42
baest lizmat: Ok, but FALLBACK is pretty cool anyways, elegant and simple
lizmat S12:606
synbot6 Link: design.perl6.org/S12.html#line_606
masak_venue ok, it happens in the first .map 10:43
10:43 tinyblak left 10:44 Ven joined, ldc joined
moritz m: constant nums = 1, 2, 3 ... Inf; say nums 10:47
GLRelia rakudo-moar 62e17b: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/jwYZbBpc4N:1␤␤Actually thrown at:␤ in block <unit> at /tmp/jwYZbBpc4N:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…»
masak_venue I've golfed it down to something that requires newlines. 10:49
let me try to paste it here
m: constant nums = 1, 2, 3 ... Inf;␤constant fizzbuzz = nums\␤ .map({ $_ %% 3 ?? "Fizz" !! $_ }); 10:50
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1J8VbjABI1␤An exception occurred while evaluating a constant␤at /tmp/1J8VbjABI1:2␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kAAlvWKBSo␤An exception occurred while evaluating a constant␤at /tmp/kAAlvWKBSo:2␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
masak_venue if I inline `nums`, the problem goes away
if I remove the unspace, the problem goes away
10:50 raiph left
masak_venue vewwy stwange 10:50
masak_venue submits rakudobug
ShimmerFairy m: constant nums = 1; constant fizzbuzz = nums\␤.map({ $_ }); 10:54
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Y2BW2WrSV9␤An exception occurred while evaluating a constant␤at /tmp/Y2BW2WrSV9:1␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VVtZHQ5EZS␤An exception occurred while evaluating a constant␤at /tmp/VVtZHQ5EZS:1␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
ShimmerFairy masak_venue: a bit shorter :)
10:54 wtw left, wtw joined
masak_venue thank you 10:55
ShimmerFairy m: my \nums = 1; constant fizzbuzz = nums\␤.map({ $_ });
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GsejRQtSaA␤An exception occurred while evaluating a constant␤at /tmp/GsejRQtSaA:1␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J5ZF7NN3EU␤An exception occurred while evaluating a constant␤at /tmp/J5ZF7NN3EU:1␤Exception details:␤ 5===SORRY!5=== Error while compiling ␤ Cannot invoke this object (REPR: Null, cs = 0)␤ at…»
masak_venue lunch & 10:56
10:56 masak_venue left
ShimmerFairy m: my \nums = 1; nums\␤.map({ $_ }); 10:56
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4GMO_WE26U␤Variable '&nums' is not declared␤at /tmp/4GMO_WE26U:1␤------> 3my \nums = 1; 7⏏5nums\␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9FZZNPAsj␤Variable '&nums' is not declared␤at /tmp/u9FZZNPAsj:1␤------> 3my \nums = 1; 7⏏5nums\␤»
ShimmerFairy ^ that's probably related
10:56 lizmat left 10:57 btyler_yapc left 10:58 virtualsue left 11:01 zakharyas left
RabidGravy printer restored to shelf, no-one was injured. 11:03
11:04 laouji left 11:10 rurban left 11:16 kjs_ left, rurban joined 11:20 _mg_ joined
Ven .tell lizmat irclog.perlgeek.de/perl6/2015-09-04#i_11168004 design.perl6.org/S02.html#Undefined_types 11:21
yoleaux Ven: I'll pass your message to lizmat.
11:35 colomon joined 11:38 kjs_ joined 11:39 rurban left 11:47 rurban joined 11:50 rurban left 11:51 aborazmeh left 11:52 xinming joined 12:00 xfix joined, xfix left, xfix joined 12:12 Ven left 12:13 Ven joined
TimToady trying to make List into a tuple type doesn't work 12:21
(because it ends up forcing non-lazy trying to determine WHICH)
ShimmerFairy So we'd need a separate Tuple type if we wanted one, then? 12:22
TimToady m: prolly 12:24
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nlBK7doQzy␤Undeclared routine:␤ prolly used at line 1. Did you mean 'roll'?␤␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dSKxLGMuEE␤Undeclared routine:␤ prolly used at line 1. Did you mean 'roll'?␤␤»
TimToady oops 12:25
dalek kudo/glr: 17411ef | TimToady++ | src/core/List.pm:
List can't be Tuple

We can't afford to have WHICH based on all the elements of List, for two reasons: it's slow, and its .elems is forcing eagerness that causes the self-reference check to bring on heat-death of the universe.
12:31
12:32 rurban joined 12:33 btyler_yapc joined
TimToady 'sides, it breaks one of my slides... 12:33
12:35 JimmyZ joined
FROGGS SDD++ 12:38
12:43 rurban left 12:45 sufrostico joined
Ven notices he's started to use ?? everytime he wants to write a ternary, even in ruby... 12:46
moritz in perl 5 too
FROGGS same here :S 12:48
timotimo yeah, ?? !! seems quite a bit nicer than ? :
FROGGS but more often I use ~ to concat stuff in P5
timotimo oh my ~.~
daxim unfilled array elements: I know they stringify to the empty string and their type is Any, but what is their value?
moritz daxim: Any
timotimo daxim: their value is Any, too
moritz daxim: the type object 12:49
[Coke] m: my @a; @a[4]=3; say @a[1].WHAT; 12:53
GLRelia rakudo-moar 17411e: OUTPUT«(Any)␤»
camelia rakudo-moar e6f360: OUTPUT«(Any)␤»
12:54 inokenty left
daxim what's the design decision for making exists and deletes adverbs and not a method like kv? 12:57
12:57 btyler_yapc left
jdv79 daxim: i have wondered that but didn't care enough to ask 12:58
they seem like outliers 12:59
timotimo because we'd have to have delete_pos and delete_key
for things that behave like Match or Capture, i.E. things that have both positional and associative functionality
daxim can you give a concrete example?
timotimo i never can :P 13:01
FROGGS if there was a method called .exists instead of the adverb, you would call .exists on Any 13:02
... on any Any in fact
so what if you store Any to a slot of an array? the slot exists then but would be the same Any as a slot that is made up for you because you asked for it 13:03
timotimo mhm
FROGGS and adverbs get passed to the method, like AT-POS for the postcircumfix []
and this method can then properly check if a slot exists or not
13:03 Ven left
FROGGS daxim: so in every case you want to talk to the method that is returning something instead of talking to the return value directly, you'd probably want adverbs 13:04
daxim is that the generalised explanation for the existence of adverbs? 13:05
timotimo a little bit 13:06
FROGGS daxim: put differently: adverbs are just flags to the sub/method they get applied on, so these subs/methods can do different stuff then usual 13:07
timotimo i'm not sure it helps daxim, though? 13:10
13:10 btyler_yapc joined
FROGGS I don't know :o) 13:10
daxim it is still a bit vague, but that's not the fault of your explanation, but my lack of experience. I figure it will sink in later 13:11
ShimmerFairy daxim: our hashes and arrays don't have some sort of encapsulating type around values it returns, so you can't really define a method to go after the subscripting. 13:12
daxim: and when you think "I could just put a method before the subscript instead, to modify what the subscript does!", well, that's what adverbs are suited for. :)
timotimo ShimmerFairy: i don't think that's what daxim is suggesting, though. as i understand it, it's more like "why not @foo.exists(10) or %test.exists('hello')" 13:13
13:14 [TuxCM] joined
jdv79 imo adverbs stick out as an inconsistency or a rarity where the why is not obvious. 13:16
ShimmerFairy daxim: if what timotimo said is true, then in that case there's the argument that :exists and :delete are better for demonstrating the fact that you're basically subscripting, just something slightly different happens.
.exists(42) or .delete("foo") don't visually look like a subscript access, even though that's the main thing happening in those operations ("find this thing, but just tell me if it exists" / "find this thing, and delete it") 13:18
[Coke] now controlls @perlhex 13:20
timotimo cool
friendly take-over! >:)
[Coke] has no idea what to DO with it, mind. 13:21
timotimo we'll hopefully be able to help you with that
it's supposed to be for interesting/enlightening one-liners and snippets, right?
[Coke] Sure. :) 13:22
moritz ShimmerFairy, daxim, timotimo: $match.exists($key) wouldn't make it obvious if $match{$key}:exists or $match[$key]:exists is meant
13:23 skids joined, masak_venue joined
moritz and for things like IntStr (subclass of both Int and Str), a type-based distinction is impossible 13:23
ShimmerFairy ah yes, there's that critical detail as well :)
jdv79 you might be able to just pick random p6 rosetta snippets
masak_venue I have a question about rosettacode.org/wiki/Man_or_boy_test#Perl_6
timotimo i already said that! :)
ShimmerFairy Ah look, here's one now!
moritz also, we wouldn't get autoquoting from %h<key>>exists
masak_venue how come it works as stated, but not when I change `--$k` to `$k - 1` ?
jdv79 ha
moritz timotimo: yes, but I don't know if your point came accross
timotimo neither do i :S 13:24
masak_venue when I change it to `$k - 1` it hangs. and I don't immediately see why it should even be different.
what am I missing? :)
ShimmerFairy imagines a special P6 keyboard that just has «» keys, perhaps as supershift™+,/supershift™+. 13:25
timotimo neo2 has those :P
it has something very similar to supershift™
13:26 masak_venue left
daxim in X you can use Compose out of the box, no need to learn a whole 'nother layout like neo 13:26
timotimo of course
but neo is amazing
13:26 hernanGOA joined
ShimmerFairy I use compose as well, perhaps the special keyboard is just a set-aside Compose key :) 13:26
timotimo it'd be pretty cool if other layouts got the "multiple layers" treatment neo2 has without rearranging all the basic letters 13:27
so it'd be much less of a re-learn for regular folks
ShimmerFairy (or as the config files would have it, a "Multi_key", which can almost fit into our use of the word "multi")
timotimo isn't it more like an adverb key? :P
ShimmerFairy a slang key, surely :) 13:28
daxim btw neo was designed before the author learned about duckduckgo.com/?q=ISO_LEVEL5_SHIFT that's why its levels and resp. shift keys are so quirky
timotimo "quirky" meaning "doesn't work in java applications", right 13:29
?
daxim ? 13:30
timotimo i don't think i understand what you mean :|
the first few results from that search are all "how do i get my level 5 arrow keys to work with $foo"
and yeah ... it's difficult to make that work across everything 13:33
QtCreator on windows, for example ... very frustrating
[Coke] The description at rosettacode.org/wiki/Category:Perl_6 could be updated to mention Christmas. 13:37
13:37 charsbar joined 13:39 muraiki joined
muraiki hihi 13:39
timotimo ohai
13:41 Ven_ joined 13:42 charsbar left 13:43 charsbar joined 13:45 [TuxCM] left
cdc m: react { whenever supply { for "/etc/os-release".IO.lines { emit $_ }; done } { .say } } 13:46
GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/shar…»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ykCFEpuHxM␤Undeclared routines:␤ done used at line 1. Did you mean 'none', 'one'?␤ emit used at line 1. Did you mean 'exit'?␤␤»
13:46 kjs_ left
cdc why does it^ work only for the first line? 13:47
I mean, in this example, "emit" is not from the "react" block, it is from the "supply" block and should be used by "whenever". 13:49
[Coke] I think move the supply outside of the react. testing.. 13:50
cdc it is already the case with my not-reduced code. 13:51
my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s { 13:52
m: my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s { .say } }
GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/shar…»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3NldpYeH3c␤Undeclared routines:␤ done used at line 1. Did you mean 'none', 'one'?␤ emit used at line 1. Did you mean 'exit'?␤␤»
timotimo huh, so the dynamic scope somehow gets messed up? 13:54
or the handler only fires once for some reason?
i'm not sure if we even expect this to work properly? 13:55
m: my $s = supply { emit 1; emit 2; emit 3; }; react { whenever $s { .say } }
GLRelia rakudo-moar 17411e: OUTPUT«1␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0QyO8_37T6␤Undeclared routine:␤ emit used at line 1. Did you mean 'exit'?␤␤»
timotimo i think we expect emit inside a supply { } only as a reaction to a whenever triggering something? perhaps? or something like that?
dalek ecs: a71e379 | skids++ | S99-glossary.pod:
Add "list to remember" to glossary
13:56
timotimo as in, the first time the block inside runs, it's only for setup?
13:56 Ven_ left 13:57 FROGGS left
cdc .ask jnthn is irclog.perlgeek.de/perl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance! 13:59
yoleaux cdc: I'll pass your message to jnthn.
RabidGravy m: react { whenever Supply.from-list("/etc/os-release".IO.lines) { .say }} 14:01
GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤NAME="Debian GNU/Linux"␤VERSION_ID="8"␤VERSION="8 (jessie)"␤ID=debian␤HOME_URL="www.debian.org/"␤SUPPORT_URL="http:...an.org/"␤»
camelia rakudo-moar e6f360: OUTPUT«NAME=openSUSE␤VERSION="13.2 (Harlequin)"␤VERSION_ID="13.2"␤PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)"␤ID=opensuse␤ANSI_COLOR="0;32"␤CPE_NAME="cpe:/o:opensuse:opensuse:13.2"␤BUG_REPORT_URL="bugs.opensuse.org"␤HOME_URL="https://…»
timotimo we can probably install a handler for EMIT around the initial creation of the supply or react block and give a better error message in any case
cdc timotimo: thanks! :) 14:04
timotimo all thanks should go to RabidGravy :)
cdc RabidGravy: thanks! :) too ;) 14:05
however, I'm still wondering why "Supply.from-list" doesn't behave like "supply { for { emit } }" ...
14:09 n0tjack joined
RabidGravy the parser doesn't get to see the already compiled emit 14:11
timotimo hm?
14:12 Ven_ joined
RabidGravy the useless use of emit is in the grammar I think 14:12
PerlJam src/core/Supply.pm line 1065 14:14
jnthn cdc: Looks like a bug, probbly 'cus I implemented the whole lot supply/react/whenever in 6 hours on a plane... :) 14:18
yoleaux 13:59Z <cdc> jnthn: is irclog.perlgeek.de/perl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance!
cdc jnthn: ok, not a big worry then :) Thanks !
cdc would be capable to implement awesomeness in 6 hours too ... 14:19
PerlJam Is there a way (besides using tap) to say whenever $supply.is-done { do-something } ?
jnthn PerlJam: whenever is a loop ;) 14:20
whenever $supply { LAST do-something() }
PerlJam doh!
yeah, I keep forgetting that . IT doesn't look loopy enough to me :)
jnthn for $seq -> $value { }
whenever $supply -> $value { }
;)
timotimo ohai jnthn 14:21
jnthn o/ timotimo 14:22
cdc For information: RT #125987 Unexpected "Useless use of emit in react" 14:23
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125987
14:23 andreoss` joined
btyler_yapc on the topic of whenever and react, I'm about to present this as a lightning talk at YAPC::EU: gist.github.com/kanatohodets/8ffb1...04c80225cc 14:24
jnthn cdc: Thanks :)
14:24 khw joined 14:25 lizmat joined
jnthn btyler_yapc: cute :) 14:25
RabidGravy is this stuff fairly settled? If so I'll stick it in the docs
14:25 andreoss left
jnthn RabidGravy: Yeah, and you may find my original gist on it informative 14:25
Though it's not all done and as I mentioned a moment ago was done on a pretty short timescale ;)
I'll be polishing :) 14:26
14:26 kjs_ joined
btyler_yapc same thing with IO::Select in perl5 also now in that gist (I gave a talk about event loop workings at SPW, and that was my simple example) 14:26
lizmat messages! 14:27
yoleaux 11:21Z <Ven> lizmat: irclog.perlgeek.de/perl6/2015-09-04#i_11168004 design.perl6.org/S02.html#Undefined_types
RabidGravy jnthn, cool, I haven't checked the original gist since before you implemented it :)
lizmat jnthn: I managed to do your 50 min talk in 25 :-(
good thing there were some questions...
RabidGravy lizmat, I always seemed to deliver talks in half the alloted time 14:28
jnthn lizmat: ...how?! 14:29
I overran my slot at SPW o.O
Apparently I waffle a lot :P
14:29 FROGGS joined
timotimo oh, waffles are great, though! 14:29
RabidGravy gaufres! 14:30
ShimmerFairy jnthn: you took all the extra time then, clearly! :P 14:31
lizmat jnthn: I just spoke too fast, didn't pace myself properly
I guess I'm a bit out of touch with presenting
was the first presentation for a large group I gave in a long time (a year to be precise) 14:32
14:32 yqt joined
jnthn lizmat: Still, good you filled the slot I had to vacate with something 6y :) 14:33
lizmat++
14:33 yqt left
lizmat thank you :-) 14:33
14:33 yqt joined
lizmat especially since DrForr's talk was cancelled due to his unfortunate fall 14:33
timotimo argh, i hope he gets well soon!
lizmat basically, he did an mst 14:34
timotimo so it was very loud?
lizmat no, it was very broken
the hip, then
14:35 btyler_yapc left
lizmat daxim: if you really want to check for existence of a key in a hash and not use adverbs 14:35
m: my %h = a => 42; say %h.EXISTS-KEY('a') 14:36
GLRelia rakudo-moar 17411e: OUTPUT«True␤»
camelia rakudo-moar e6f360: OUTPUT«True␤»
lizmat m: my %h = a => 42; say %h.DELETE-KEY('a'); say %h
GLRelia rakudo-moar 17411e: OUTPUT«42␤␤»
camelia rakudo-moar e6f360: OUTPUT«42␤␤»
pink_mist 0_o that's suprising to me
*surprising
lizmat but that won't work for slices
just for single values 14:37
it's basically directly using the underlying logic
pink_mist oh wait, it isn't surprising; I missed that you had a say in front of the delete
14:38 kjs_ left
daxim good to know, "underlying" means where? 14:38
jnthn EXISTS-KEY is the low-level API a collection type actually implemented so the @foo{$x}:exists actually works 14:39
14:39 yqt left
ShimmerFairy the default [] and {} implementations use methods like EXISTS-KEY or AT-POS as part of their logic, to make supporting those for your own classes easier 14:39
jnthn @foo{@keys}:exists calls .EXISTS-KEY on each key in the slice, for example 14:40
daxim anyone else bothered by the distortions of history in the first paragraph of <news.ycombinator.com/item?id=10168821>? 14:42
14:42 rindolf left
[Coke] "most of the core language developers were working on Perl 6" seems especially false. 14:44
RabidGravy m: class M is Hash { method EXISTS-KEY(|c) { say "boo"; nextsame; }}; my M $m = M.new; say $m{42}:exists; # for reference
GLRelia rakudo-moar 17411e: OUTPUT«boo␤False␤»
camelia rakudo-moar e6f360: OUTPUT«boo␤False␤»
jnthn daxim: I might still be if I'd not heard the line a thousand times and grown too thick a skin to care any more. :) 14:45
[Coke] in other news: people still read ycombinator?
diakopter thick++ skin++
[Coke] A wild diakopter++ appears!
14:45 kjs_ joined
[Coke] waves 14:46
diakopter particles
timotimo most of the core language developers were working on perl 6 !!! 14:47
cool!
RabidGravy nearer to 5.6.0 than 5.8.0
timotimo so in this parallel universe, perl 6 has already been past its "finished release" for the last 10 years
competing implementations of perl 6, with hatred and contempt between all of them 14:48
every team trying their best to swipe the rug from under the feet of the other implementing teams in order to grasp the golden perl 6 graal first
diakopter [Coke]: to answer your HN question: cs.stanford.edu/people/karpathy/hn...lysis.html
14:48 rindolf joined
ShimmerFairy timotimo: I think someone threw the grail against the wall before the fights begun, though :P 14:49
14:49 braintwist left
timotimo and then, the perl 5 camp committed to regular releases, out of spite towards the perl 6 people, who became more and more foreign to them 14:49
jdv79 did someone say waffles? i could do a few right now. 14:50
timotimo jdv79: look in front of you now.
do you have a waffle?
jdv79 i read hn all the time
timotimo wouldn't you be happier if you did?
jdv79 i do not
sadly
diakopter [Coke]: also this porter.io/blog/hackernews-cheaters...f-you-can/
jdv79 completely
RabidGravy no time for gofres there's beer ro be drunk 14:51
[Coke] huh. 14:52
14:54 inokenty joined, _mg_ left, pat_js joined 14:56 Ven_ left 14:59 Ven_ joined
[Coke] hoelzro: if I try #125977, I get Type check failed in binding &code; expected 'Callable' but got 'Hash' 15:02
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125977
15:03 Averna joined
hoelzro [Coke]: ah, my bad; I should've posted my actual script 15:04
hoelzro fixes it
[Coke] hoelzro: I added a "say 1" in there, segfaults fine. :|
note that if I just use 1;, it completes and doesn't segfault. 15:05
15:06 njmurphy joined
[Coke] RT: 1,037 tickets again. :| 15:06
15:07 diana_olhovik_ left
hoelzro [Coke]: the pointy block version should probably segfault; I just added it to the ticket 15:07
grondilu m: class A { has @!a handles <at_pos>; submethod build(:@a) {} }; say A.new(:a(my @ = 1))[0];
GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
camelia rakudo-moar e6f360: OUTPUT«A.new␤»
grondilu m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) {} }; say A.new(:a(my @ = 1))[0];
GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
camelia rakudo-moar e6f360: OUTPUT«A.new␤»
15:08 kinslayer joined 15:10 zakharyas joined
jnthn figures he's an hour or so's worth of energy to hack on something :) 15:13
Maybe like merging glr into nom :) 15:14
hoelzro dun dun dun 15:15
RabidGravy jnthn++ # plan! I've only got a few hours hacking to fix my modules before I off to Beefa 15:16
hoelzro then we can start removing deprecations =)
15:16 telex left 15:18 telex joined 15:20 njmurphy left, rarara joined
grondilu m: class A { has @!a handles <at_pos>; submethod build(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0]; 15:20
GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
camelia rakudo-moar e6f360: OUTPUT«A.new␤»
grondilu m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0];
GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
camelia rakudo-moar e6f360: OUTPUT«A.new␤»
grondilu tinyurl.com/phq49fm 15:23
jnthn It's called AT-POS now, not at_pos
# Your branch is ahead of 'origin/nom' by 510 commits. 15:24
So commit!
RabidGravy wahay!
grondilu, -->
m: class A does Positional { has @!a handles <AT-POS>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(1,2))[0];
grondilu oh OK, a deprecation warning for at_pos would be nice
camelia rakudo-moar e6f360: OUTPUT«1␤»
GLRelia rakudo-moar 17411e: OUTPUT«1␤»
grondilu I suppose that may explain why my Clifford module was broken 15:25
RabidGravy it never gets called so it can't be deprecated as it were
flussence should trait_mod:<handles> check .^can on the thing it's attaching to and throw a warning for things like that? 15:26
jnthn grondilu: It's been, like, months and months.
grondilu yeah sorry I haven't done any perl6 related stuff for quite some time. 15:27
jnthn grondilu: No probs; just noting there almost certainly was such a message until rather recently :) 15:30
bah, I did the spectest without merging glr into master in roast also...
std: class Foo { method bar { } }; Foo.new.bar:; 15:33
15:33 GLRelia left
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Illegal use of colon as invocant marker at /tmp/xoqG0_SJVe line 1:␤------> 3ass Foo { method bar { } }; Foo.new.bar:7⏏5;␤Check failed␤FAILED 00:00 138m␤» 15:33
jnthn std: class Foo { method bar { } }; Foo.new.bar: ;
camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
jnthn "ass Foo" :D
15:34 GLRelia joined
GLRelia std : OUTPUT«Can't chdir to '/home/steve/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤ EvalbotExecuter::_auto_execute(HASH(0x206fe38), "class Foo { method bar { } }; Foo.new.bar:;", GLOB(0x23ad250), "/tmp/5P6bBXa6If", "std") called at lib/EvalbotExecute…» 15:34
FROGGS what the
what is that rude jnthn doing in here! :D 15:35
jnthn I love how the error started "Illegal use of colon"... :P
FROGGS *g* 15:37
jnthn Some spectest fallout with the merge, but I'm going to push it and we can clean it up together :)
dalek Heuristic branch merge: pushed 510 commits to rakudo/nom by jnthn 15:38
Heuristic branch merge: pushed 276 commits to roast by jnthn
jnthn It's done! \o/
FROGGS ohh, is that the glr -> nom merge? 15:39
RabidGravy apparently
FROGGS \o/
jnthn Yes :) 15:40
RabidGravy jnthn++ # nothing like a spot of jfdi on a friday
FROGGS ohh a pro pos jfdi... I'm intending merging C++ support this weekend 15:41
jnthn Yeah, well, the backlogs were full of consensus this and what would jnthn do that...so I decided to jfdi :)
FROGGS it cannot hurt but it will let es get in in shape by playing with it...
jnthn FROGGS: +1, I've been fine with that merge for a good while :)
FROGGS yay!
jnthn: AFAICT g++, clang++ and cl pass the sanity tests 15:42
RabidGravy FROGGS++ # groovetastic - I can take the shonky C wrapper out of the soundtouch module
15:42 rarara left
FROGGS RabidGravy: ohh, that will mean that I'll get feedback :o) 15:42
jnthn I guess now I've done the merge I should be good and help clean up some spectests :) 15:43
FROGGS I'll hook in in about 3 hours, when the kids are in bed 15:44
15:49 Averna left, rangerprice joined 15:51 thou left
dalek ast: 777fc21 | jnthn++ | S02-magicals/KERNEL.t:
Extra test for easier failure analysis.
15:54
kudo/nom: 0802eec | jnthn++ | src/core/Kernel.pm:
Add missing `flat` to fix signals test on Win32.
15:55
jnthn That's one down :)
15:55 dustinm` left 15:56 dustinm` joined
jnthn Ah, a bunch of the new failures are 'cus TimToady decided List.WHICH should go away. :) 15:56
lizmat :-) 15:58
I see 7
one of which is an OS X known issue
so we're really at 6 :-)
jnthn At least 3 are about the TimToady change 15:59
I guess I'll fix them and if we get a Tuple-y type in the future we just write tests for that 16:00
16:01 xfix left 16:03 cbk1090 left
Loren_ sub MAIN(@files) { for @files -> $f { } } 16:03
16:03 dalek left 16:04 dalek joined, ChanServ sets mode: +v dalek
ugexe sub MAIN(*@files) { for @files -> $f { } } 16:05
Loren_ sub MAIN(@files) { for @files -> $f { say $f; } } > merge.pl , I use like this ./merge.pl something.txt, but it's not working
grondilu hang on. Has the GLR just happened?
jnthn grondilu: yes
dalek ast: f12a825 | jnthn++ | S (2 files):
Fixes now List is back to being a reference type.
grondilu jnthn++ 16:06
jnthn (many other folks)++ made it possible :)
16:06 masak_venue joined
Loren_ Oh.. thks. 16:06
ugexe, thks
FROGGS the next steps probably are to check all modules and try to find issues in the implementation
ugexe glad i could answer it before you could ask :)
grondilu so any early estimate on perf improvement or is that too soon?
FROGGS and after that looking into optimizations and cleanups
masak_venue m: sub foo( Str &b:(Bool --> Int) ) { say "alive" }; foo( sub (Bool) { 42 } ) 16:07
GLRelia rakudo-moar 17411e: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub'␤ in sub foo at /tmp/ubc2f2A6Cn:1␤ in block <unit> at /tmp/ubc2f2A6Cn:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub'␤ in sub foo at /tmp/fBPFLs3lWv:1␤ in block <unit> at /tmp/fBPFLs3lWv:1␤␤»
FROGGS grondilu: it is too early
masak_venue submits rakudobug
jnthn masak_venue: Wait, why?
masak_venue (it ignores the inner/Int return type directive)
jnthn Oh... 16:08
DIHWIDT :P
masak_venue I think it should fail by forbidding doubly declaring it like that
jnthn Yeah, there's precedent for trying to catch such thinkos
masak_venue jnthn: yes, lichtkind did it by mistake and didn't even realize.
16:08 zakharyas left
jnthn m: my Int foo() returns Str { } 16:08
GLRelia rakudo-moar 17411e: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/kE7BRJqeZr:1␤------> 3my Int 7⏏5foo() returns Str { }␤Malformed my␤at /tmp/kE7BRJqeZr:1␤------> 3my Int 7⏏5foo() returns Str { }␤␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/FG3lZlDRBh:1␤------> 3my Int 7⏏5foo() returns Str { }␤Malformed my␤at /tmp/FG3lZlDRBh:1␤------> 3my Int 7⏏5foo() returns Str { }␤␤»
masak_venue it would be nice to catch it and throw the perfect error message
jnthn m: my Int sub foo() returns Str { }
GLRelia rakudo-moar 17411e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KWyJw7BEBS␤Redeclaration of return type for foo (previous return type was Int)␤at /tmp/KWyJw7BEBS:1␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RNk5jWh_lG␤Redeclaration of return type for foo (previous return type was Int)␤at /tmp/RNk5jWh_lG:1␤»
jnthn Something like that
masak_venue yes, that one 16:09
Loren_ hehe.. I hope have a book 'perl6 program language' 16:10
someday .
masak_venue Loren_: me too! 16:11
dalek ast: 18b7541 | jnthn++ | S32-io/IO-Socket-INET.pl:
Update socket test for GLR, deprecations.
masak_venue Loren_: it will happen -- question is how soon.
Loren_: are you new here? if so, welcome! 16:12
Loren_: (if you're a lurker, then welcome anyway!) :P
RabidGravy have any publishers expressed interest in making one?
16:12 domidumont left
dalek ast: 3a02f73 | jnthn++ | integration/advent2013-day07.t:
Another victim of List.WHICH removal.

Happily, restoring the behavior in the original advent article.
16:13
masak_venue RabidGravy: I believe it's more about authors expressing an interest than about publishers expressing an interest
Loren_ masak_venue, Em, yes.
masak_venue :) 16:15
RabidGravy masak_venue, I dunno back in the just-pre-dotcom-boom days, they were actively canvassing for authors for Perl books
masak_venue Loren_: are you a fiver? are you at YAPC::EU?
Loren_ masak_venue, No. That has a little difficult to learn perl6, I'm from china . Insied g.f.w.
My English just so so.. 16:16
RabidGravy give it a couple of hours and your English will be better than mine ;-) 16:17
Loren_ RabidGravy, thks, i will. 16:18
RabidGravy my what a lot of spectests
PerlJam has an interest in writing a Perl 6 book 16:19
Now ... if only I had the time to do it well.
RabidGravy have they multiplied in the last while or has my computer got slower
16:20 pat_js left
dalek kudo/nom: 5db6cbd | jnthn++ | src/core/Capture.pm:
Fix/optimize Capture.WHICH.

Accidentally relied on List.WHICH, even though it didn't mean to.
16:23
masak_venue Loren_: 很高兴认识你! 16:24
^^
masak_venue 's battery is running low
Loren_ masak_venue, i just a 'pi min'
masak_venue, i just a 'pi ming'
jnthn masak_venue: So you use Chinese so you can make less keystrokes to say the same thing? :)
masak_venue jnthn: 是 16:25
Loren_ masak_venue, it can't display properly
masak_venue, just use english 16:26
PerlJam heh
dalek kudo/nom: 9c5cb50 | jnthn++ | src/core/Capture.pm:
Toss a bogus flat in Capture.WHICH.
jnthn Spectest should be a good bit cleaner now. 16:27
(The fallout wasn't really much glr merge, and mostly List.WHICH getting removed and an unfortunate consequence that had for the GLR code)
RabidGravy screw it then, not going to re-spectest, just rakudobrew it all up 16:28
jnthn RabidGravy: We were only talking a dozen failures over several files anyways 16:29
16:29 masak_venue left
jnthn Out of thousands of tests/files that ain't bad 16:29
moritz m: say <a b> === <a b> 16:30
GLRelia rakudo-moar 17411e: OUTPUT«False␤»
camelia rakudo-moar e6f360: OUTPUT«True␤»
RabidGravy yeah, I'd already started running it before you fixed them
jnthn On HEAD that is now False
Guess camelia is behind
moritz glr is gone? 16:31
RabidGravy gone, gone, gone 16:32
jnthn moritz: Aye, merged 16:33
GLRelia++ can also be wished a fond goodbye too :)
16:33 ChanServ sets mode: +o moritz 16:34 GLRelia was kicked by moritz (GLRelia)), moritz sets mode: -o moritz
moritz :-) 16:34
jnthn I'm not sure that was fond :P
Effective, however :)
moritz it was a very fond kick, with no rudness whatsever in the message :-)
jnthn I need to have another whack at Windows-specific issues in spectests, not to mention some further S17 flakiness work, but run I just did looked alright 16:36
RabidGravy looks like most of my fallout is the done -> done-testing thing whch ain't no glr thang 16:37
moritz yes, I think I fixed my modules, and submitted one or two pull requests for that 16:38
but the ecosystem isn't small anymore :/
16:39 kjs_ left
RabidGravy Ooh and a Parcel 16:40
16:41 ldc left
RabidGravy and a Parcel in a Pair tree 16:42
16:42 Ven_ left
moritz moritz@hack:~/p6/perl6-all-modules$ git grep --word Parcel | cut -d/ -f 1,2|sort -u|wc -l 16:43
16
hoelzro jnthn++ # glr merge
16:44 perl6_newbee joined
perl6_newbee hi all 16:45
Loren_ welcome to perl6 16:46
jnthn rejects RT #125963 with a little explanation of why 16:47
That's one RT down :)
perl6_newbee Can someone explain how I can return two arrays from a sub? return (@array, @array1) does not work as expected. I know I could use sub irgendwas(@array is rw, @array1 is rw) but i want it the Perl way :-)
RabidGravy m: say ("a".."z","A".."Z").pick(15).join(""); 16:48
camelia rakudo-moar e6f360: OUTPUT«riAXKWStlEcUyJH␤»
jnthn RabidGravy: That needs a .flat.pick after GLR I think 16:49
(I guess camelia ain't updated...)
RabidGravy yep, cheers
another one down ;-) only another 14 modules
jnthn heh, I should check my modules too 16:50
moritz perl6_newbee: I'm fairly certain that return (@a1, @a2) works; it's just a matter of what you do with it on the caller side
jnthn But I should probably cook us some dinner here first :)
And then probably relax, so I can more properly recover... :)
& 16:51
JimmyZ perl6_newbee: you can't do my(@c, @d) = (@a1, @a2)
16:51 domidumont joined
moritz but my ($c, $d) = thesub() works 16:52
perl6_newbee hmm, I have my (@array, @array1) = irgendwas() in my script. But I get always all stuff in the first array. 16:53
Loren_ m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); say @x[0].perl; say @x[1].perl; 16:54
camelia rakudo-moar e6f360: OUTPUT«Potential difficulties:␤ To pass an array, hash or sub to a function in Perl 6, just pass it as is.␤ For other uses of Perl 5's ref operator consider binding with ::= instead.␤ Parenthesize as \(...) if you intended a capture of a single var…»
16:54 vinraec joined
Loren_ it's print '\([1, 3]<>) 16:55
\([2, 4]<>)' in my perl6
lizmat m: my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b 16:56
camelia rakudo-moar e6f360: OUTPUT«@a = [1, 2, 3, 4, 5, 6]<>␤@b = []<>␤»
lizmat hmmm
16:56 xfix joined
lizmat according to glr, that shouldn't have flattened, should it ? 16:56
JimmyZ m: my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b 16:57
camelia rakudo-moar e6f360: OUTPUT«$a = 1␤$b = 2␤»
pink_mist is camelia glr-ified yet?
lizmat ah... good point
$ 6 'my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b' 16:58
@a = [(1, 2, 3), (4, 5, 6)]
@b = []
different, still not good, I think
perl6_newbee that looks like my problem
what is 'dd'?
JimmyZ ./perl6-m -e 'my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b'
lizmat yeah
JimmyZ $a = $(1, 2, 3)
$b = $(4, 5, 6)
[Coke] jnthn++ merging. I was not looking forward to that. :)
lizmat perl6_newbee: dd is tiny data dumper
16:58 domidumont left
lizmat m: my $a = 42; dd $a, "foo" 16:59
camelia rakudo-moar e6f360: OUTPUT«$a = 42␤"foo"␤»
Loren_ m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); dd @x;
camelia rakudo-moar e6f360: OUTPUT«Potential difficulties:␤ To pass an array, hash or sub to a function in Perl 6, just pass it as is.␤ For other uses of Perl 5's ref operator consider binding with ::= instead.␤ Parenthesize as \(...) if you intended a capture of a single var…»
16:59 skids left
perl6_newbee ah I use always say xyz.perl 16:59
cool 17:00
moritz fwiw Stage parse on the JVM-build dies with "java.lang.NullPointerException"
which is why camelia isn't up-to-date
Loren_ The above code works fine in my perl6 'version 2015.05-198-gd6430c1 built on MoarVM version 2015.05-79-g458940f' 17:01
17:01 diana_olhovik_ joined
ugexe thats something like 2 months old 17:01
17:02 domm_holiday left
ugexe around when all the list changes started 17:02
perl6_newbee my script is running with rakudo-2015-06 on WIndows 10.
[Coke] and predates glr, no doubt.
Loren_ ugexe, yes, i'm not update it since i installed .
[Coke] hoelzro: You still planning on ripping out the deps? 17:04
perl6_newbee I have WIndows 10 only at work. so next week I will try to figure out what happens
hoelzro [Coke]: yes, I was just about to start
[Coke] hoelzro++
[Coke] tries a local jvm build.. 17:05
ugexe m: say $*PERL.compiler.version
camelia rakudo-moar e6f360: OUTPUT«v2015.7.1.215.ge.6.f.3602␤»
ugexe thats old. latest you can just do return (@a1, @a2) 17:06
[Coke] those last 4 words should probably be one word.
17:08 andreoss` left
Loren_ I will try that code when rakudo update finish. 17:10
17:12 btyler_yapc joined
[Coke] confirms the jvm buildfail 17:18
17:19 wtw left
dalek kudo/nom: d977ee6 | hoelzro++ | src/core/Pod.pm:
Remove deprecated Pod::Block.content
17:20
kudo/nom: e251aa7 | hoelzro++ | src/Perl6/Actions.nqp:
Remove deprecated $*OS and $*OSVER
ugexe jvm has been failing for like 1.5 months i thought
dalek ast: 68f7764 | hoelzro++ | S02-types/deprecations.t:
Fix up deprecation warnings test

  $*OS and $*OSVER are no longer deprecated; they're just gone now
17:21
ast: 6786fc8 | hoelzro++ | S17-lowlevel/lock.t:
Only skip low level lock test for RT #125977 on Moar

It works fine on JVM
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125977
lizmat YAPC::EU shutting down& 17:22
17:23 btyler_yapc left, lizmat left
RabidGravy m: my @d := ".".IO.parent.dir 17:30
camelia ( no output )
RabidGravy is camelia not updated? 17:31
cognominal so, parcels are gone?
[Coke] cognominal: yes, gone 17:33
(jvm) github.com/coke/perl6-roast-data/b...ummary.out - not failing everywhere. I confirmed it's failing on os x. 17:34
RabidGravy: the e6f360 tells you if it is or not 17:35
it's the sha1 used to build that rakudo-moar.
RabidGravy er, WTF does "Bytecode stream version too low" mean? 17:42
grondilu hum somehow I suspect my install does not work well: 17:44
$ perl6 --version
This is perl6 version 2015.07.1-728-g9c5cb50 built on MoarVM version 2015.07-108-g7e9f29e
^that does not look very recent
m: say $*VERSION
camelia rakudo-moar e6f360: OUTPUT«Dynamic variable $*VERSION not found␤ in block <unit> at /tmp/QUAwXPdiFt:1␤␤Actually thrown at:␤ in block <unit> at /tmp/QUAwXPdiFt:1␤␤»
ugexe thats within the last hour? 17:45
grondilu yes
at least it's supposed to 17:46
ugexe it is for rakudo at least
17:46 n0tjack left 17:50 espadrine left 17:52 sjn_phone_ joined, diana_olhovik_ left, n0tjack joined 17:57 n0tjack left 18:00 kbenson joined
moritz camelia doesn't update, because the rakudo-JVM build fails 18:00
kbenson ugexe: I just build with rakudobrew within the last 30-45 minutes: "This is perl6 version 2015.07.1-730-ge251aa7 built on MoarVM version 2015.07-108-g7e9f29e" 18:03
masak jnthn++ # glr merge 18:04
soooo....
...when are we renaming 'nom' to 'master'? :)
kbenson was glr just merged?
masak yes 18:05
nine Woohoo!
moritz nine++ # doing a huge amount of the fixup work
18:06 n0tjack joined
kbenson then let me be the first to suggest there may be a regression somewhere :( 18:06
hopefully just in the p6doc module or its tests
gist.github.com/kbenson/9f16328b11dad400a695 18:07
[Coke] we are trying to shake out ecosystem regressions, yes. bring 'em in. 18:08
18:10 n0tjack left 18:11 pyrimidine left
hoelzro $*CWD = IO::Path.new(cwd()) # what's the recommended way to do this, now that cwd() is going away? 18:12
dalek line-Perl5: 9a4e8b0 | (Stefan Seifert)++ | / (4 files):
Adjust to the post GLR world
18:13
Inline-Perl5: 78dc003 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Inline-Perl5: Seem to need a sink() on Perl5Parent now as well
18:13 dalek left, pyrimidine joined
nine Sorry dalek :/ 18:13
18:13 dalek joined, ChanServ sets mode: +v dalek
muraiki yay glr merge jnthn++ nine++ everyone ++ 18:14
nine Btw. Inline::Perl5 passes its own tests and the spec tests. I'm not sure if it needs further changes. Right now you often have to itemize a hash to avoid flattening which makes using Perl 5 modules from Perl 6 a bit weirder than I'd like.
Many Perl 5 APIs require you to pass a hash with arguments to emulate named arguments. Right now you have to write foo(${bar => 1}) in such cases 18:17
muraiki nine: yeah, almost all of our internal code uses named args
well, we use the: foo(bar => baz) form 18:18
and there are some weird cases where we foo({bar => baz})
but that was abandoned at some point in the last 15 years
I guess the latter form isn't uncommon in javascript ;) 18:19
18:20 domidumont joined, pochi left
nine The latter form has the advantage that you get the "odd number of elements" warning in the caller's place. 18:20
That's why it's recommended at least by some.
muraiki good point. I never thought about that
nine Ok, out for dinner now. 18:21
muraiki looks like Log::Syslog::Native has an error running tests post-glr
dalek kudo/nom: 686e9aa | hoelzro++ | src/ (2 files):
Remove deprecated winner/more from Supply
18:24
kudo/nom: 03b5a0a | hoelzro++ | src/core/ (5 files):
Removed a bunch of deprecated I/O constructs
ast: 5c6d958 | hoelzro++ | S02-types/WHICH.t:
Remove Proc::Status from WHICH check

It has been removed with open(:pipe)
18:24 pochi joined, n0tjack joined
masak heads down to dinner 18:25
timotimo get down and dinner!
muraiki here's the failing Log::Syslog::Native test info gist.github.com/muraiki/fe68e78a0427c93ea3e0 18:26
18:26 z448 joined 18:27 z448 left
muraiki although it's weird because neither test file reported any failures explicitly. is it because of "Parse errors: No plan found in TAP output" ? 18:27
18:29 n0tjack left 18:33 n0tjack joined 18:36 skids joined
hoelzro I think that's all the deprecation removals I'll do for today 18:38
let the ecosystem breathe a bit
18:39 sufrostico left
ugexe muraiki: there is no plan, and the tests use 'done()' which no longer sets the plan (its done-testing() or something) 18:40
muraiki ugexe: that explains it. thanks!
18:41 n0tjack left 18:42 larion left 18:43 n0tjack joined 18:48 n0tjack left 18:54 sufrostico joined
flussence first glr fallout on my end (probably): panda now thinks "Text-Tabs-Wrap" isn't a valid module name and refuses to install it... 18:54
18:56 n0tjack joined 18:58 domidumont left 19:01 n0tjack left
ugexe on a side note, Test::Corpus's META.info<provides> looks like it was incorrectly generated 19:06
flussence probably... I ought to redo all my META.info files by hand. Any docs for the file format? 19:07
ugexe S22 19:08
design.perl6.org/S22.html#META6.json
it says provides is optional, but i dont think it is anymore (or wont be in the future) 19:10
Ulti ohai 19:11
check out the latest comments gist.github.com/MattOates/c2e19950..._primes-p6
also the Stats module is GLR ready (in other news) 19:14
19:16 n0tjack joined 19:17 vinraec left
muraiki awesome! 19:18
19:18 colomon left
muraiki wow, what a speedup 19:20
19:21 colomon joined
FROGGS ugexe: provides is optional in a sense that your dist might not ship packages/modules, but binaries or other resoures 19:23
Ulti yeah the best thing about it is it just DWIMs and isn't slow! so much more obvious what its doing than some of the other solutions 19:24
dalek c: 44c6360 | muraiki++ | lib/Language/testing.pod:
done() has become done-testing()
c: cc499db | FROGGS++ | lib/Language/testing.pod:
Merge pull request #122 from muraiki/master

done() has become done-testing()
19:26 pmurias joined
pmurias hi 19:26
dalek kudo/cpp3: 73a46f6 | FROGGS++ | t/04-nativecall/ (3 files):
try cl, g++ and clang++ to build/test C++ libs
19:27
kudo/cpp3: 327bb6b | FROGGS++ | lib/NativeCall.pm:
automatically guess C++ name mangler
Ulti primes-naive-functional: ran in 0.007 wow o___O just the same minus the race 19:32
that's so much faster I better check its actually doing anything 19:34
flussence oh great, Text-Tabs-Wrap is actually broken by glr. Something for me to do :D
19:36 dwarring joined
Ulti nope its really doing it that much faster wow 19:36
jdv79 RabidGravy: what did you do to H::U? 19:37
now i get test fails
dalek p: ac4a334 | FROGGS++ | tools/build/MOAR_REVISION:
bump moar revision for C++ support
RabidGravy it was working fine for me about an hour ago
Ulti once you go to far more load like 10000 as the max parallel comes online and does faster
RabidGravy I'll take a look when I have done with these other modules 19:38
FROGGS hmpf, I totally forgot that I have to port the C++ stuff to jvm before I can merge the NativeCall stuff in rakudo :o( 19:39
jdv79 does it work on glr? i haven't updated in a couple days.
FROGGS .tell japhb I merged C++ stuff in moar, but have to port it to jvm before I can merge the rakudo/cpp3 branch... hopefully this happens this weekend 19:40
yoleaux FROGGS: I'll pass your message to japhb.
jdv79 i'll also look later. dinner & 19:41
19:41 perl6_newbee left 19:46 n0tjack left
RabidGravy jdv79, some weird glr fallout but nothing I've touched recently 19:57
timotimo Ulti: what the hell? 19:58
that's amazing
but isn't "upto 1000" really small? 19:59
Ulti: also, loop labels are implemented in rakudo now 20:00
20:01 pmurias left
timotimo m: outer: loop (my $n = 0; $n < 10; $n++) { loop (my $m = 0; $m < $n; $m++) { next outer if $m == $n div 2; say "$n $m" } } 20:01
camelia rakudo-moar e6f360: OUTPUT«2 0␤3 0␤4 0␤4 1␤5 0␤5 1␤6 0␤6 1␤6 2␤7 0␤7 1␤7 2␤8 0␤8 1␤8 2␤8 3␤9 0␤9 1␤9 2␤9 3␤»
timotimo hm
not so simple to say if it's doing anything here %)
i think it is doing something.
Ulti timotimo: feel free to add to the gist :P I took those direct from Tim King's blog 20:06
timotimo oh
i thought that was just a typo of "timing" :D
Ulti yeah 1000 is small if you do 10000 the parallel grep is the bestest 20:07
timotimo ah, that's the post from many years ago?
Ulti yeah
where it took like 11 seconds
timotimo draw a time growth curve? :) 20:08
Ulti soooo 11 down to 0.007 seconds not too shabby!
timotimo kinda good
Ulti progress has been made >:D
timotimo oh, that's the built-in is-prime
Ulti yeah
timotimo of course that's fast :P
Ulti :P 20:09
yeah its a statistical test rather than iterate all the things
timotimo yup
it's also written in C and such
Ulti fine I'll write a parallel one of a similar form
timotimo thank you :3 20:10
20:13 dha joined
Ulti throw in a few native types for good measure... 20:14
20:15 yqt joined, diakopte1 joined
timotimo well, only for up to 64 bit big prime numbers of course 20:15
20:15 cxreg2 joined, cognominal_ joined 20:16 cognominal left, diakopter left, Alina-malina left, esh left, shmibs_ joined 20:17 mr-foobar left, esh joined
timotimo and when are 64bit sized prime numbers interesting enough? 20:17
dalek rl6-roast-data: 9c185f8 | coke++ | / (10 files):
today (automated commit)
20:18
timotimo someone uploaded "all prime numbers that fit into 32bits" saying "File primes.32b presents all 203280220 32-bit odd prime numbers from 3 to 4294967291.
"
so there's more or less enough of them to be interesting
20:22 darutoko left
Ulti doh segfault gunna have to think harder 20:24
screw it im gunna do the one that doesn't require any state 20:26
that would also be more impressive if it beats one of the non parallel ones that does a lot fewer comparissons 20:27
RabidGravy there, it only took three and a half hours to GLR up those 16 modules 20:29
20:29 xfix left
RabidGravy jnthn, you'll be happy to know the OO::Monitors is fine 20:29
20:30 rangerprice left 20:40 Alina-malina joined
Ulti my code causes all sorts of horror gist.github.com/MattOates/125009c88f6ee9f5f101 20:46
tony-o japhb: idle being nothing else happening in the event loop 20:47
timotimo does race already work? 20:48
tony-o japhb: i was picturing something like whenever { react $*PROC.idle { } }
Ulti timotimo: yup or at least it did before 20:49
timotimo OK
Ulti this runs but screws up before finishing
tony-o or some way of injecting a sub to run in the main loop in order to read from $*IN so i can push it to a supply or separate thread
timotimo Ulti: did you try a moar with --asan yet? or valgrind? 20:51
Ulti nope
timotimo where does Stats come from?
Ulti my github via the ecosystem 20:52
timotimo ah, just panda-install Stats, eh? 20:53
Ulti yup 20:54
- the -
though I perhaps dont know enough about how race works to be sure I'm spawning a *tonne* of threads on that inner race 20:56
I assumed I would only be using 6 20:57
timotimo how long does it run on your 'puter?
Ulti for the 100 iterations it never finished
it always failed with one message or another
timotimo i get like 17 moar processes from this
Ulti :/
timotimo it takes like 3 minutes or something to run 20:58
i'll just do 10 runs instead of 100 in the bench script
asan barfs at something here 21:00
we've allocated a frame from the fixed size allocator, later we've freed that from MVM_frame_dec_ref, but we explode inside interp_run 21:01
21:01 sjn_phone_ left
timotimo that's just a decont instruction 21:01
Ulti :< 21:03
21:03 Ven joined
timotimo so it's still running in a frame that hasn't been inc'd often enough? 21:04
Ulti I'm afraid I'm going to be next to no help :Z 21:05
I just want to torture the implementors and eat popcorn 21:06
:P
21:08 ShimmerFairy left, ShimmerFairy joined 21:09 mr-foobar joined, diakopte1 left, jonathan_ joined, jordman left 21:10 RabidGravy left, ashleydev joined, hernanGOA left, hernanGOA joined 21:11 diakopter joined
timotimo fair enough :) 21:11
jonathan_ the "1 == all %($/).values" doesn't seem to work in t/03-cookies.t 21:12
21:12 zacts left
timotimo can you golf the problem? 21:14
like, what's (%($/).values).perl look like? 21:15
oh it's you, gravy
21:16 lizmat joined, lizmat_ joined
jonathan_ it's in a regex, kinda tricky 21:16
21:17 jordman joined, firstdayonthejob joined
jonathan_ basically it's "token foo { [ <f1> | <f2> | <f3> ] * % '; ' <?{ 1 == all %($/).values }> }" 21:18
i.e. all of f1 f2 f3 separated by ; in any order 21:19
21:20 lizmat left 21:21 rindolf left
dha So, do state variables function in P6 as they experimentally do in P5? 21:27
jonathan_ timotimo, it's a Seq of Match objects 21:28
21:29 jonathan_ is now known as RabidGravy
RabidGravy dha, if you mean the initialisation is only done once then yes 21:30
21:30 muraiki left 21:33 wtw joined
jdv79 dha: state vars are experimental in p5 or they have changed in a way that is experimental? 21:33
dha I mean generally. There appears to be NO information in the P6 docs/specs about it, and I'd like to try to get it documented. C<supersede> also appears in variables.pod and that would be the last TODO in there. 21:34
jdv79 iirc they've been aroound for years now
dha jdv79 - you need to enable them with C<use feature>
RabidGravy jdv79, I've got H::U down to just the cookies test 21:35
pink_mist dha: I don't think there's anything experimental about state variables in perl5 21:39
lizmat_ dha: state variables work: they are internally used for e.g. once blocks 21:40
21:40 kaare_ left
dha My mistake. They need to be specifically enabled, but they aren't experimental. 21:40
lizmat_ m: for ^3 { say once DateTime.now; sleep .5 }
dha lizmat_- Good. Now, they just need to be documented. :-)
camelia rakudo-moar e6f360: OUTPUT«2015-09-04T23:40:48+02:00␤2015-09-04T23:40:48+02:00␤2015-09-04T23:40:48+02:00␤»
21:41 lizmat_ is now known as lizmat
dha Also, if I understand correctly, there's an anonymous state variable C<$> which isn't notably documented either, although I've seen it used. 21:41
lizmat m: sub a { say $++ }; a; a; a 21:42
camelia rakudo-moar e6f360: OUTPUT«0␤1␤2␤»
lizmat it's an unnamed state variable that is typically used in situations such as this ^^^
dha Yes, like that. :-)
lizmat m: sub a { say $++; say $++ }; a; a; a # just wondering 21:43
camelia rakudo-moar e6f360: OUTPUT«0␤0␤1␤1␤2␤2␤»
21:43 Peter_R left
dha I'm looking to try to write docs for C<state>, hence my question about how similar it is to the P5 version, as that has some text I can work from. 21:43
lizmat looks like two unnamed state variables in the same scope are different 21:44
instances
pink_mist is that specced?
dha Are they, or is that an order of evaluation issue?
pink_mist - I think I can answer that. A couple of examples using state variables appear in the specs, but they are not actually described. 21:45
pink_mist well, I meant specifically the behaviour of more than one instance of $ there, not state variables in general 21:47
lizmat $++ is basically short for "state $foo++" with 'foo' being a unique string
pink_mist ah, gotcha
cool
dha Yeah, I don't think C<$> is specced anywhere. Unless it is nowhere near the phrase "state variable" 21:48
21:49 kst joined 21:50 Ven left 21:52 mr-foobar left 21:54 mr-foobar joined 21:55 Ven joined
lizmat I think TimToady knows more about it 21:55
and on that note, I'm going to get some more sleep than last night& 21:56
pink_mist sleep well 21:57
RabidGravy jdv59, H::U should be working with GLR-ed rakudo now 22:12
22:16 hernanGOA left
Ven FROGGS: do you still need the test for cpp3? I can do it right now 22:17
(seems like there's no cpp3 branch on moarvm) 22:18
RabidGravy right, and that's all the dependencies sorted out as well 22:22
PAH! I FART AT THE GLR!
22:27 Ven left 22:29 Loren_ left 22:30 telex left
tadzik fart in its GLR direction? 22:31
yoleaux 2 Sep 2015 22:23Z <mohij> tadzik: github.com/patzim/rakudobrew
2 Sep 2015 22:23Z <mohij> tadzik: Supports shell local switching and dynamically determining the target version.
tadzik /o\
.tell mohij Wow, thanks man!
yoleaux tadzik: I'll pass your message to mohij.
22:32 telex joined
RabidGravy tadzik, you know that regex you were asking about in HTTP::UserAgent? I took it out because I couldn't get it to work with the GLRed nom - adding instead five additional tests 22:37
22:38 sufrostico left 22:41 firstdayonthejob left
skids So... there's some unfinished GLR business... the *@ vs **@ on sub forms in Any-iterable (and probably a few other places). 22:41
dalek kudo-star-daily: 64da386 | coke++ | log/ (9 files):
today (automated commit)
22:42 firstdayonthejob joined
RabidGravy skids, on the other hand I am quite surprise it only took three and a half hours to make 19 modules work with the GLR in :) 22:43
so on the whole 22:44
skids Yes, it might end up for the better that those waited until after the merge, actually.
RabidGravy everyone++ # job well done people
skids ++everyone
dha +everyone+ 22:45
pink_mist every++one
RabidGravy now I can go and get ratted in the Mediterranean for two weeks with impunity :)
skids has to track down some rather elusive things in Sum.
dha It sounds like RabidGravy's plan is more fun. 22:46
RabidGravy :)
nighty night peeps 22:47
dha night. 22:48
22:48 firstdayonthejob left
pink_mist good night 22:50
22:51 RabidGravy left 22:52 dha left
skids m: buf8.new(1025).perl.say; buf8.new(202020202020202020202020202020202020202020).perl.say 22:53
camelia rakudo-moar e6f360: OUTPUT«Buf[uint8].new(1)␤Cannot unbox 138 bit wide bigint into native integer␤ in any at src/gen/m-Metamodel.nqp:1677␤ in block <unit> at /tmp/D4XIkKj8zO:1␤␤»
timotimo you think we should have a bigint-to-buffer function? 22:54
skids Well right now I'm doing: Buf.new( 1 X+& (self.Int X+> ($columns-1...0)) ); and it will only get uglier without one. But you'd have to be able to specify size and endian stuf too, so... 22:56
22:56 laouji joined
skids Oh that's my buf1 func. but anyway. 22:57
22:59 sufrostico joined 23:02 japhb joined 23:03 japhb left
timotimo mhm 23:03
skids Maybe pack() 23:06
timotimo we've had interest in that for some time anyway
23:07 japhb joined 23:19 laouji left 23:20 laouji joined 23:23 philh joined
ShimmerFairy Yeah, we still need to figure out some kind of binary grammar thing (that is, the binary data version of grammars) 23:25
timotimo aye
23:26 zacts joined
ShimmerFairy And ideally a syntax that's not as horrifically compressed as what I've seen of P5's pack() :) 23:27
timotimo digs into building a websocket implementation again ... 23:28
is there a good namespace for that module? 23:29
probably Net:: 23:30
23:50 BenGoldberg joined