Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-09-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 aborazmeh joined #perl6
00:11 aborazmeh joined #perl6
00:25 Celelibi joined #perl6
00:34 ptufts joined #perl6
00:40 BenGoldberg joined #perl6
00:51 pullphinger joined #perl6
01:23 llfourn joined #perl6
01:33 laouji joined #perl6
01:34 colomon joined #perl6
01:38 Celelibi joined #perl6
01:38 dayangkun joined #perl6
01:47 thou joined #perl6
02:08 peteretep left #perl6
02:12 noganex joined #perl6
02:49 kaare_ joined #perl6
02:49 Averna joined #perl6
02:51 slowpoke_ joined #perl6
03:16 cgfbee joined #perl6
03:17 cfloare joined #perl6
03:25 llfourn joined #perl6
03:26 telex joined #perl6
03:35 thou joined #perl6
03:40 aborazmeh joined #perl6
03:40 aborazmeh joined #perl6
03:56 aborazmeh joined #perl6
03:56 aborazmeh joined #perl6
03:58 llfourn joined #perl6
04:23 laouji joined #perl6
04:31 laouji joined #perl6
04:36 aborazmeh joined #perl6
04:36 aborazmeh joined #perl6
04:42 eiro joined #perl6
04:44 ShimmerFairy joined #perl6
05:14 xfix joined #perl6
05:14 xfix joined #perl6
05:24 thou joined #perl6
05:36 leont joined #perl6
05:49 mr-foobar joined #perl6
05:56 CIAvash joined #perl6
06:12 diana_olhovik joined #perl6
06:15 cdc joined #perl6
06:25 laouji joined #perl6
06:26 CQ2 joined #perl6
06:33 FROGGS joined #perl6
06:40 domidumont joined #perl6
06:44 RabidGravy joined #perl6
06:45 domidumont joined #perl6
06:46 masak morning, #perl6
06:46 moritz \o
06:49 RabidGravy erp
06:52 nine Good morning!
06:59 cschwenz1 joined #perl6
07:01 masak RabidGravy: Enterprise Resource Planning? :)
07:02 RabidGravy nah it already sap-ped my will to live
07:02 laouji joined #perl6
07:04 Ven joined #perl6
07:05 domidumont joined #perl6
07:05 FROGGS o/
07:06 FROGGS ZBEGR - a customized greeting
07:06 Ven pretty cool. Hello there!
07:12 thou joined #perl6
07:12 El_Che joined #perl6
07:12 liztormato joined #perl6
07:13 * liztormato waves from a place with a view of the sea
07:15 * moritz waves back, listening to "Sailing to Philadelphia"
07:17 * TEttinger waves but is distracted by people in NZ linking photos of their crickets http://i.imgur.com/Te1Y7kC.jpg
07:17 * nine waves from a train
07:17 jdv79 i believe i missed the bus at the airport.  next one might be in 3 hours.
07:17 cdc .tell zostay I think you can replace "Supply.on-demand(-> $a { ... })" construction with a supply block. https://gist.github.com/jnthn/a56fd4a2​2e7c43080078#supply-syntax-constructs.  I find this latter construction more readable.
07:17 yoleaux cdc: I'll pass your message to zostay.
07:20 liztormato joined #perl6
07:23 moritz can somebody explain in very simple terms what an on-demand supply does?
07:23 moritz (and what it does differently than a "live" supply?)
07:24 jdv79 where is that distinction made?
07:25 moritz in src/core/Supply.pm iirc
07:26 rindolf joined #perl6
07:30 RabidGravy on demand supply can be pre-populated with items and these will be available to a subsequent tapper, whereas a "live" one only the items that are emitted after the tap are seen
07:31 RabidGravy eg Supply.from-list() or e.g Supply.interval()
07:31 cdc then, a live supply can't "overflow", right ?
07:32 moritz RabidGravy: only available to the first tapper, or to all of them?
07:32 moritz m: my $s = Supply.from-list(1, 2, 3, 4); $s.tap({}); $s.tap(&say); $s.done
07:32 camelia rakudo-moar 5ba44f: OUTPUT«Type check failed in binding &emit; expected 'Callable' but got 'Hash'␤  in block <unit> at /tmp/8quFHYLQIb:1␤␤»
07:32 GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in binding &emit; expected 'Callable' but got 'Hash'␤  in block <unit> at /tmp/4bWjCyfx7X:1␤␤»
07:32 moritz m: my $s = Supply.from-list(1, 2, 3, 4); $s.tap({;}); $s.tap(&say); $s.done
07:32 camelia rakudo-moar 5ba44f: OUTPUT«1␤2␤3␤4␤»
07:32 GLRelia rakudo-moar 57b7eb: OUTPUT«1␤2␤3␤4␤»
07:32 darutoko joined #perl6
07:32 moritz to all, it seems
07:34 zakharyas joined #perl6
07:35 RabidGravy cdc, yeah on a live one if there are no tappers, emitting is basically a no-op
07:38 cdc RabidGravy: thanks!
07:39 moritz ... and the bikeshedding on p6u continues (about oneliners now being strict again, by default)
07:41 RabidGravy good, good
07:41 zakharyas joined #perl6
07:41 ShimmerFairy moritz: there are people who _want_ no strict on one-liners? That's news to me.
07:42 masak the populace seems divided on this.
07:42 mohij_mobile joined #perl6
07:42 moritz ShimmerFairy: aye
07:42 masak let's provide an easy opt-in for the nonstricters and be done with it.
07:42 salva joined #perl6
07:42 ShimmerFairy masak: what's the P5 commandline option for 'no'ing modules?
07:42 moritz --nostrict :-)
07:43 masak moritz: I've also heard the words "hot" and "cold" used for "live" and "on-demand". I guess it comes down to being unable to do, or uninterested in, retroactive replay.
07:43 oha the issue seems that -M-strict or -Mnostrict isn't working
07:43 ShimmerFairy moritz: there isn't an obvious subject line, could it be "killer advantages" ?
07:43 masak moritz: like, a mouse isn't likely to save up its old cursor positions just 'cus you subscribed late.
07:43 moritz ShimmerFairy: yes, deep in that thread
07:44 masak moritz: (and there might not be a use case for that.)
07:44 ShimmerFairy For the record, I still think pragmas should have separate 'yes'/'no' keywords, and that modules being 'no'd doesn't seem to make sense to me, at least in P6-land
07:45 ShimmerFairy (and user-defined pragmas, as I understand them, are just slangs for Perl 6. No need to confuse module loading and compiler pragmas, in my opinion)
07:49 ShimmerFairy I've always thought 'use' for enabling pragmas was weird, btw, I just didn't know the P5 legacy reasons until recently :)
07:52 abraxxa joined #perl6
07:53 moritz ShimmerFairy: I don't find it weird, because there are no clear-cut limits between pragmas and "real" modules
07:54 ShimmerFairy moritz: to me, pragmas have always been compiler flags, more or less. I don't think user-defined ones have been possible until recently, whenever slangs appeared.
07:55 ShimmerFairy especially since P6 at least currently has no idea what 'no' means for modules, IIUC, so the 'no' disabling keyword is purely a pragma thing.
07:55 RabidGravy yeah, after all if one was to make a user defined "pragma" you'd almost certainly have to "use" the implementation at which point having to do something else to activate it becomes a bit redundant
07:56 nine FWIW most pragmas in Perl 5 nowadazs are really user defined modules.
07:56 nine The same will probably be true for Perl 6 at one point.
07:57 ShimmerFairy I'm just so used to pragmas being just a collection of flags handled by Grammar.nqp that the idea of them being module-like is crazy talk to me :P
07:58 nine In Perl 5 I use common::sense; in all my code that does use strict; use warnings; use utf8; yada yada for me
07:58 RabidGravy It's possible that the term "pragma" isn't particularly useful
07:58 RabidGravy "pragmatic module" may work better
08:01 lizmat Granada, here we come!
08:01 lizmat &
08:01 ShimmerFairy At the very least, I'd appreciate a divide between compiler flags and modules of any kind :)
08:01 RabidGravy make sure you don't go Grenada instead
08:01 * masak is also almost about to leave for Granada
08:02 ShimmerFairy (not that it's a big deal for me either way, esp. at this point in P6 development. It's more one of those "would be nice" sorts of things for me ☺)
08:02 RabidGravy ShimmerFairy, I'd probably agree with you
08:02 mohij_mobile .tell tadzik I'm thinking about creating a plenv lookalike for Perl 6.Do you think it's a good idea to do it in perl5 (instead of bash)? Would it make sense to integrate this into rakudobrew or would a separate package be better?
08:02 yoleaux mohij_mobile: I'll pass your message to tadzik.
08:04 mohij_mobile .tell tadzik: Pros for perl: Works on Windows/BSD/..., that's what rakudobrew is written in. Pros for bash: Small startup time, same as all the other *env things.
08:04 yoleaux mohij_mobile: What kind of a name is "tadzik:"?!
08:04 mohij_mobile .tell tadzik Pros for perl: Works on Windows/BSD/..., that's what rakudobrew is written in. Pros for bash: Small startup time, same as all the other *env things.
08:04 yoleaux mohij_mobile: I'll pass your message to tadzik.
08:05 ShimmerFairy RabidGravy: in particular, I'd like someday for  'use warnings'  to be like gcc's -w flags; that is  'use warnings :!P5 :empty_angles :etc'  :)
08:07 virtualsue joined #perl6
08:07 blackcat_ joined #perl6
08:08 araujo_ joined #perl6
08:08 * [ptc] slowly gets ready for Granada...
08:19 pmurias joined #perl6
08:20 pmurias hi
08:23 espadrine_ joined #perl6
08:23 pmurias any #perl6'er already in Granada?
08:24 zacts joined #perl6
08:29 RabidGravy judging by my facebook feed, half of London is in Granada already
08:31 cognominal joined #perl6
08:31 araujo joined #perl6
08:31 araujo joined #perl6
08:33 Ven joined #perl6
08:34 * masak enjoys imagining that being literally true
08:38 larion joined #perl6
08:39 laouji joined #perl6
08:42 masak airport &
08:51 [ptc] have a good flight, masak
09:00 thou joined #perl6
09:03 Ven joined #perl6
09:08 leont joined #perl6
09:10 mattp_ joined #perl6
09:16 RabidGravy rsync is not playing nicely with the rest of my computer this morning
09:17 moritz bad rsync, no cookie
09:21 llfourn joined #perl6
09:27 laouji joined #perl6
09:28 pragma- left #perl6
09:32 cschwenz1 left #perl6
09:33 * _itz_ packs for .es
09:44 pochi joined #perl6
09:46 rmgk joined #perl6
09:48 pink_mist mohij_mobile: how feasible is it even to use a plenv-alike on windows? if you want to target BSD why not do it in sh rather than bash?
09:58 RabidGravy is there a way of detecting the "WARNING: unhandled Failure detected in DESTROY" programatically so that I can turn them into test failures?
09:59 andreoss joined #perl6
09:59 andreoss m: constant \x = 1,2,3; x.shift; x eq [2,3];
09:59 camelia rakudo-moar 5ba44f: OUTPUT«WARNINGS:␤Useless use of "eq" in expression "x eq [2,3]" in sink context (line 1)␤Method 'shift' not found for invocant of class 'Parcel'␤  in block <unit> at /tmp/FfAurrze8A:1␤␤»
09:59 GLRelia rakudo-moar 57b7eb: OUTPUT«WARNINGS:␤Useless use of "eq" in expression "x eq [2,3]" in sink context (line 1)␤Method 'shift' not found for invocant of class 'List'␤  in block <unit> at /tmp/eM19FvulYJ:1␤␤»
09:59 andreoss m: constant \x = 1,2,3; x.shift; say x eq [2,3];
09:59 camelia rakudo-moar 5ba44f: OUTPUT«Method 'shift' not found for invocant of class 'Parcel'␤  in block <unit> at /tmp/8U0DusFBb0:1␤␤»
09:59 GLRelia rakudo-moar 57b7eb: OUTPUT«Method 'shift' not found for invocant of class 'List'␤  in block <unit> at /tmp/CEBaJ2616L:1␤␤»
09:59 andreoss m: constant \x = @ _ 1,2,3; x.shift; say x eq [2,3];
09:59 camelia rakudo-moar 5ba44f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aD2L5iH3E3␤Two terms in a row␤at /tmp/aD2L5iH3E3:1␤------> 3constant \x = @7⏏5 _ 1,2,3; x.shift; say x eq [2,3];␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤ …»
09:59 GLRelia rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qxXimF404l␤Two terms in a row␤at /tmp/qxXimF404l:1␤------> 3constant \x = @7⏏5 _ 1,2,3; x.shift; say x eq [2,3];␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤ …»
09:59 andreoss m: constant \x = @ = 1,2,3; x.shift; say x eq [2,3];
09:59 camelia rakudo-moar 5ba44f: OUTPUT«True␤»
09:59 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
09:59 andreoss mutable constants
10:01 andreoss m: constant \x = (1,2,3).Array; x.shift; x eq [2,3];
10:01 camelia rakudo-moar 5ba44f: OUTPUT«WARNINGS:␤Useless use of "eq" in expression "x eq [2,3]" in sink context (line 1)␤»
10:01 GLRelia rakudo-moar 57b7eb: OUTPUT«WARNINGS:␤Useless use of "eq" in expression "x eq [2,3]" in sink context (line 1)␤»
10:01 andreoss m: constant \x = (1,2,3).Array; x.shift; say x eq [2,3];
10:01 camelia rakudo-moar 5ba44f: OUTPUT«True␤»
10:01 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
10:06 mohij_mobile pink_mist: How would you assess the Windows user base wrt how they currently use Perl5 and will/should use Perl6?
10:07 prammer joined #perl6
10:08 [Sno] joined #perl6
10:08 andreoss m: constant \x = 1.Array; say ++x[0];
10:08 camelia rakudo-moar 5ba44f: OUTPUT«2␤»
10:08 GLRelia rakudo-moar 57b7eb: OUTPUT«2␤»
10:08 andreoss m: constant \x = 1.Int; say ++x;
10:08 camelia rakudo-moar 5ba44f: OUTPUT«Cannot assign to an immutable value␤  in block <unit> at /tmp/hTzWzyYb8x:1␤␤»
10:08 GLRelia rakudo-moar 57b7eb: OUTPUT«Cannot assign to an immutable value␤  in block <unit> at /tmp/zD6n9GTOtz:1␤␤»
10:08 RabidGravy mohij_mobile, lot's of people use p5 on windows, the vast majority use a packaged build such as strawberry perl
10:08 pink_mist mohij_mobile: I'm not thinking the issue is one of userbase, but rather a technical issue ... granted I'm not clear on exactly how a plenv works, but will it actually be able to do the same things in a windows shell? doesn't it need to do some subshells to set env variables? how will that even work?
10:10 mohij_mobile pink_mist: plenv uses shims to delegate to the respective executables. Rakudobrew does that already (and also on windows).
10:11 pink_mist oh I see, then carry on :P
10:11 mohij_mobile Possible caveat: I am pretty sure one has to put filename suffixes on all the shims to make windows atomatically pick the correct interpreter (no shebang support on windows)
10:13 llfourn joined #perl6
10:13 RabidGravy yes, it has to be either .BAT or .CMD on windows
10:14 RabidGravy (assuming you want it run under the default command shell)
10:14 mohij_mobile RabidGravy: or .pl if using Perl proves to be feasable.
10:15 RabidGravy assuming that the installed perl added the association of course
10:15 mohij_mobile One can set Ending -> Interpreter mappings, if I remember correctly Strawberrry does that by default.
10:16 pink_mist does perl6 depend on perl5 anyway? or would one need to install perl5 in order to make use of pl6env?
10:16 RabidGravy yeah see "assoc" I think it's called, or do it with powershell
10:16 moritz pink_mist: rakudo depends on perl 5 at run time
10:16 moritz pink_mist: erm, sorry, at configure time
10:16 moritz pink_mist: and for building; but not for running
10:17 pink_mist right, and pl6env will need to be building and configuring its perl6es anyway, so I guess that doesn't matter for this then =)
10:17 mohij_mobile I am still thinking about what a good workflow on windows could look like (assuming Inline::Perl5 will be required in the forseable future). Strawberrry -> rakudobrew  -> Perl6 is the best I could come up with up to now.
10:19 mohij_mobile Custom perl5 versions are missing in that workflow though. Could be a tough one to create a plenv in Perl though...   :-(
10:21 andreoss can i have immutable array?
10:22 moritz andreoss: no; arrays are mutable by definition
10:22 tadzik computer, messages
10:22 yoleaux 08:02Z <mohij_mobile> tadzik: I'm thinking about creating a plenv lookalike for Perl 6.Do you think it's a good idea to do it in perl5 (instead of bash)? Would it make sense to integrate this into rakudobrew or would a separate package be better?
10:22 yoleaux 08:04Z <mohij_mobile> tadzik: Pros for perl: Works on Windows/BSD/..., that's what rakudobrew is written in. Pros for bash: Small startup time, same as all the other *env things.
10:22 tadzik mohij_mobile: well, apart from its name rakudobrew is much more like plenv than perlbrew :)
10:23 tadzik mohij_mobile: what do you want to create that rakudobrew isn't?
10:23 mohij_mobile that's what I'm thinking :-)
10:23 mohij_mobile I'm mostly interested in local/.perl-version support
10:24 tadzik what's that?
10:24 mohij_mobile But if it turns out easy I'd go for full pl* command support.
10:24 mohij_mobile put a .perl-version file with the version number you want in a folder and when you are in that folder that version of perl is automagically used
10:25 jdias joined #perl6
10:25 pink_mist that's neat
10:29 tadzik oh!
10:29 tadzik very cool
10:30 jdias joined #perl6
10:31 mohij_mobile the plenv + carton combination is very useful in creating reproducable runtime envionments for perl applications. I'd like extend that for projects using perl6+Inline::Perl5.
10:31 mohij_mobile food&
10:41 mprelude joined #perl6
10:46 virtualsue_ joined #perl6
10:47 cdc m: my @array; @array.push(a => 1)
10:47 camelia rakudo-moar 5ba44f: ( no output )
10:47 GLRelia rakudo-moar 57b7eb: ( no output )
10:47 cdc m: my @array; @array.push(a => 1); @array.say
10:47 camelia rakudo-moar 5ba44f: OUTPUT«␤»
10:47 GLRelia rakudo-moar 57b7eb: OUTPUT«[]␤»
10:47 cdc m: my @array; @array.push((a => 1)); @array.say
10:47 camelia rakudo-moar 5ba44f: OUTPUT«a => 1␤»
10:47 GLRelia rakudo-moar 57b7eb: OUTPUT«[a => 1]␤»
10:48 cdc it's OK
10:48 thou joined #perl6
10:51 rindolf joined #perl6
10:53 salva joined #perl6
10:55 pecastro joined #perl6
10:57 cdc m: my $a = class { has Str @.strs }.new(strs => <hello world>); my @b; given $a { @b.push: { 1 => .strs[0] } }; @b.perl.say
10:57 camelia rakudo-moar 5ba44f: OUTPUT«[-> ;; $_? is parcel { #`(Block|65994176) ... }]<>␤»
10:57 GLRelia rakudo-moar 57b7eb: OUTPUT«[-> ;; $_? is parcel { #`(Block|65854248) ... }]␤»
10:57 cdc m: my $a = class { has Str @.strs }.new(strs => <hello world>); my @b; @b.push: { 1 => $a.strs[0] }; @b.perl.say
10:57 camelia rakudo-moar 5ba44f: OUTPUT«[{"1" => "hello"}]<>␤»
10:57 GLRelia rakudo-moar 57b7eb: OUTPUT«["1" => "hello"]␤»
10:57 cdc is this ^^ expected?
10:59 cdc ie, why in the first case this creates a Block, whereas it creates a Hash in the latter case?
10:59 timotimo if you use $_, that's a sign for wanting a block
10:59 timotimo (and you used $_ implicitly via ".strs[0]")
11:00 FROGGS aye
11:00 FROGGS cdc: this would have returned a hash just a week ago... I fixed a bug there to return a block
11:00 zakharyas joined #perl6
11:01 cdc timotimo: ho, I see
11:01 cdc FROGGS: yes, it used to work :)
11:01 FROGGS cdc: because if it wasn't a block, it would translate to: { 1 => Any.strs[0] }
11:01 cdc FROGGS: can I take a look at the commit/ticket?
11:01 FROGGS hold on
11:02 FROGGS cdc: https://github.com/rakudo/rakudo/commit/​ab73b0ade1f4c80de6deade33ee76c6a68a77f0b
11:02 cdc FROGGS: thanks!
11:02 FROGGS RT #125767
11:02 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125767
11:03 FROGGS m: my $a = class { has Str @.strs }.new(strs => <hello world>); my @b; given $a { @b.push: { 1 => $_.strs[0] } }; @b.perl.say
11:03 camelia rakudo-moar 5ba44f: OUTPUT«[-> ;; $_? is parcel { #`(Block|81705808) ... }]<>␤»
11:03 GLRelia rakudo-moar 57b7eb: OUTPUT«[-> ;; $_? is parcel { #`(Block|71678872) ... }]␤»
11:03 FROGGS and that $_ refers to the block it is in...
11:03 FROGGS so yes, I still think it is correct
11:06 cdc FROGGS: I understand now, thanks!
11:07 cdc for the record, one just has to use a pointy block with a named parameter in this case.
11:08 cdc m: my $a = class { has Str @.strs }.new(strs => <hello world>); my @b; given $a -> $X { @b.push: { 1 => $X.strs[0] } }; @b.perl.say
11:08 camelia rakudo-moar 5ba44f: OUTPUT«[{"1" => "hello"}]<>␤»
11:08 GLRelia rakudo-moar 57b7eb: OUTPUT«["1" => "hello"]␤»
11:13 ShimmerFairy Yeah, generally when you find yourself nesting $_-using scopes, you should either name some of them or contend with $OUTER::_ and the like :P
11:21 Akagi201 joined #perl6
11:24 SamuraiJack joined #perl6
11:36 * jdv79 finally got to the hotel
11:39 Ven joined #perl6
11:54 abraxxa joined #perl6
11:57 daxim what does    {:!e, :!q, :!r, :!t, :!w}<>   mean?  and in general, how do I look up parts of the syntax?  http://p3rl.org/data equivalent?
11:59 cdc daxim: where did you find this? To me the trailing <> looks like a glitch from pre-GLT ages
12:00 daxim output of .perl method, and rakudo was just brewed today
12:00 Juerd I don't know what the empty <> would be used for, but {} is a hash, :!e is a pair (e => False)
12:00 cdc daxim: :!e is the short for "e => False"
12:00 cdc m: {:!e, :!q, :!r, :!t, :!w}.perl.say
12:00 camelia rakudo-moar 5ba44f: OUTPUT«{:!e, :!q, :!r, :!t, :!w}␤»
12:00 GLRelia rakudo-moar 57b7eb: OUTPUT«{:!e, :!q, :!r, :!t, :!w}␤»
12:01 timotimo heh
12:01 timotimo our .perl is "clever" enough to abbreviate that
12:01 cdc daxim: about the syntax part, you might take a look at S02
12:01 timotimo m: {:!e, :!q, :!r, :!t, :!w}.fmt("%s %s").say
12:01 camelia rakudo-moar 5ba44f: OUTPUT«q False␤e False␤w False␤t False␤r False␤»
12:01 GLRelia rakudo-moar 57b7eb: OUTPUT«q False␤e False␤w False␤t False␤r False␤»
12:02 cdc daxim: http://design.perl6.org/S02.html
12:04 xfix m: {e => False}.perl.say
12:04 camelia rakudo-moar 5ba44f: OUTPUT«{:!e}␤»
12:04 GLRelia rakudo-moar 57b7eb: OUTPUT«{:!e}␤»
12:04 xfix Pretty much.
12:06 * RabidGravy is on the verge of breaking his computer
12:07 RabidGravy so I can do "require Foo; say ::('Foo').^methods" and all is good
12:07 RabidGravy but in the actual code that I want to do it in, it isn't working
12:10 RabidGravy which is somewhat aggravating
12:12 AlexDaniel joined #perl6
12:17 timotimo i vaguely recall something about things not working perfectly when in the mainline, so perhaps you have to put it into a curly?
12:20 FROGGS RabidGravy: I fear you have to golf it to something rakudobuggable
12:21 FROGGS RabidGravy: I'll happily try to fix it
12:29 llfourn joined #perl6
12:36 thou joined #perl6
12:36 pullphinger joined #perl6
12:38 RabidGravy ah, I think I got it
12:39 RabidGravy "use" craps out with circular include detected or whatever
12:39 RabidGravy require just doesn't do it
12:40 RabidGravy silently
12:44 hoelzro o/ #perl6
12:45 colomon \o
12:47 ShimmerFairy How close is the next rakudo release, ooc? (I won't merge anything major if there's one coming up, just push it as a branch instead)
12:48 moritz ShimmerFairy: I don't quite know; I'm still not clear if there's a MoarVM release or not
12:48 andreoss m: constant \x = $ = 1; x++; say x
12:48 camelia rakudo-moar 5ba44f: OUTPUT«2␤»
12:48 GLRelia rakudo-moar 57b7eb: OUTPUT«2␤»
12:49 hoelzro ShimmerFairy: according to the release guide, it's on the 17th...but there was supposed to be one on the 20th?
12:49 andreoss what is constant in that case?
12:49 moritz andreoss: the reference to the container is constant
12:50 moritz though one might argue that constant should decontainerize
12:50 ShimmerFairy m: constant \x = $ = 1; x++; say x.VAR.WHAT
12:50 camelia rakudo-moar 5ba44f: OUTPUT«(Scalar)␤»
12:50 GLRelia rakudo-moar 57b7eb: OUTPUT«(Scalar)␤»
12:50 ShimmerFairy m: constant \x = 1; say x.VAR.WHAT
12:50 camelia rakudo-moar 5ba44f: OUTPUT«(Int)␤»
12:50 GLRelia rakudo-moar 57b7eb: OUTPUT«(Int)␤»
12:50 pat_js joined #perl6
12:51 ShimmerFairy moritz: I don't think they should decont, since their entire point is to not force anything into item/list/hash/etc. context :)
12:53 andreoss why does .gist now describes lists as (a b c) without commas?
12:54 ShimmerFairy the brackets are to more clearly show nested list structure without resorting to .perl
12:55 ShimmerFairy the still-space-separation is because it'd look noisier with commas, at the least for a .gist
12:55 andreoss oh. actually it was without brackets before, sorry
12:55 moritz there'a always .perl too
12:56 dalek roast: 6104874 | hoelzro++ | S17-lowlevel/lock.t:
12:56 dalek roast: Fix TODO test for RT #124793
12:56 dalek roast:
12:56 dalek roast: This test suffers from a multithreading bug known as "lost wakeup".  A
12:56 dalek roast: lost wakeup situation occurs when you have one thread signaling a
12:56 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=124793
12:56 dalek roast: condition variable, and another waiting on it.  What happens is that the
12:56 dalek roast: signal happens before the wait, and the thread waiting waits for a
12:56 dalek roast: signal that will never come. Normally, it occurs because one side forgot
12:56 dalek roast: to lock the mutex guarding the condition variable.  However, since
12:56 dalek roast: conditional variables are typically used to guard resources whose
12:56 dalek roast: condition changes, it can still occur when using locks.  The solution
12:56 dalek roast: was to have the waiting thread check an artificial resource for readiness,
12:56 dalek roast: and the signaling thread to make that artificial resource ready.
12:56 dalek roast: review: https://github.com/perl6/roast/commit/61048741de
12:57 hoelzro where is the source for dalek?
12:57 ShimmerFairy hoelzro: is that why lock.t always failed for me when I set TEST_JOBS ?
12:57 hoelzro ShimmerFairy: that's a separate reason
12:57 FROGGS RabidGravy: are you doing 'require Foo' or 'require "Foo.pm"'?
12:57 hoelzro but I believe I know why that is too
12:57 RabidGravy require Foo
12:58 hoelzro lock.t calls $t1.join...but join() is not a method on Thread
12:58 hoelzro it's a method on Any
12:58 FROGGS RabidGravy: hmmm, sad, I was hoping for the opposite
12:58 hoelzro which is just self.list.join
12:58 FROGGS RabidGravy: though, that sounds solvable
12:58 Ven joined #perl6
12:58 hoelzro so Thread.^find_method('join') doesn't actually do anything thread-related
12:58 RabidGravy it definitely is the circular inclusion thing
12:59 hoelzro should I change the test to use finish instead of join, or add Thread.join as a synonym to Thread.finish?
12:59 hoelzro I'm leaning towards the latter
12:59 RabidGravy I removed the offending use out of the file that I was trying to require and it all works
12:59 moritz hoelzro: the source for dalek: git://github.com/Infinoid/dalek-plugins.git
12:59 * [Coke] waves from his desk at work. :|
12:59 hoelzro o/ [Coke]
13:00 hoelzro moritz: thanks!
13:01 sufrostico joined #perl6
13:02 hoelzro I'll just add Thread.join, and will beg for forgiveness later if need be =)
13:02 moritz ++hoelzro
13:06 [TuxCM] joined #perl6
13:07 AlexDaniel m: m: say [::]/\/\/\/\/\/\[:/
13:07 camelia rakudo-moar 5ba44f: OUTPUT«13␤»
13:07 GLRelia rakudo-moar 57b7eb: OUTPUT«13␤»
13:07 AlexDaniel hmmmmmmm
13:08 AlexDaniel 11 was a better number http://irclog.perlgeek.de/p​erl6/2015-07-24#i_10948795
13:10 dalek rakudo/nom: fd8b378 | hoelzro++ | src/core/Thread.pm:
13:10 dalek rakudo/nom: Add Thread.join as an alias for Thread.finish
13:10 dalek rakudo/nom:
13:10 dalek rakudo/nom: A lot of people from other programming environment backgrounds will
13:10 dalek rakudo/nom: likely try Thread.join, and get very confused when it compiles and
13:10 dalek rakudo/nom: runs but does not synchronize.  Also, the chances of wanting to
13:10 dalek rakudo/nom: perform a string join with a thread is low
13:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd8b3780ad
13:14 timotimo maybe we should have Any be one step further down a derivation chain and having something a bit less magicy derived from Mu and have that as the type restriction for most things ...
13:15 moritz we have that already, it's called Cool
13:15 moritz we're just not consequent in putting stuff into Cool instead of Any
13:18 timotimo oh?
13:18 ShimmerFairy On the other hand, if you were to move stuff to Cool, then classes still interested in those would have to inherit _everything_ Cool does. I wonder what methods on Any could be put in Cool but shouldn't force a user to 'is' Cool.
13:18 timotimo well, join is something to use with lists and Any is for things that are elements, but can act like lists
13:19 moritz or we could just stop pretending that Any is a one-element list
13:20 muraiki joined #perl6
13:20 ShimmerFairy I don't think I'd mind that, but would it break anything major?
13:21 moritz nothing major, just many details
13:21 ShimmerFairy (I think just stuff like  Any.List -> List.new(self)  would be sufficient if we were to stop pretending)
13:21 moritz for example, currently list.pick returns the picked element, not a one-element list
13:22 moritz and that currently DWIMs both when used as an element and a list
13:24 ShimmerFairy Without knowing any of the nasty details underneath such a change, I think I'd like a greater distinction between items and lists, and specifically not confusing items and singular lists :)
13:24 FROGGS ShimmerFairy: you'd have to convince TimToady then :o)
13:24 ShimmerFairy FROGGS: Like I just said, I'm nowhere near qualified to do that :P
13:25 ShimmerFairy It's never bothered me, really, I'm just saying that the idea of making lists and items distincter has possibly a nice sound to it :)
13:25 skids joined #perl6
13:26 hoelzro what would be a good cut-off point for log messages from Git push events?
13:26 hoelzro I no longer want to subject the entire channel to the novels I push into git commits =)
13:26 moritz hoelzro: 50 lines?
13:26 moritz hoelzro: I like reading long commit messages here :-)
13:26 Ven joined #perl6
13:26 hoelzro oh, you do?
13:26 colomon long commit messages are good.  :)
13:27 ShimmerFairy hoelzro: I like writing long commits, and I'm imminently going to push a branch full of 'em :P
13:27 hoelzro mwahahaha
13:27 hoelzro ok, then I won't do anything!
13:28 FROGGS hoelzro: I also like long messages... so please dont touch it :o)
13:28 hoelzro got it!
13:39 FROGGS $ perl6 -e 'BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); say Test'
13:39 FROGGS (Test)
13:39 FROGGS \o/
13:40 ShimmerFairy \o/
13:40 ShimmerFairy I'm assuming that's some module work there? :)
13:40 FROGGS aye
13:40 ShimmerFairy (er, S11/S22)
13:41 rindolf joined #perl6
13:42 JimmyZ FROGGS: Does it mean faster startup?
13:42 FROGGS JimmyZ: no, it just is about saner code
13:43 hoelzro I wrote a mail about dealing with deprecations leaving rakudo this month: http://www.nntp.perl.org/group/perl.​perl6.compiler/2015/09/msg11175.html
13:44 FROGGS +1 to that
13:44 FROGGS dunno if we need a branch though
13:45 ugexe are CU things going to still be cached by their path in the future?
13:45 khw joined #perl6
13:46 FROGGS ugexe: most likely, yes
13:46 FROGGS err...
13:46 FROGGS yes, confirmed
13:46 ugexe an odd related problem from months ago was using CompUnit to precompile a monkey-type'd core module. it would fail trying to load the monkey-type'd class, just without the monkey-typing
13:46 RabidGravy joined #perl6
13:47 shinobi-cl Hi, i wrote a module some time ago, havent tested with latest releases and only with Rakudo... This GLR has anything to do with modules? Or more with core Perl6 functionality?
13:47 dalek ecosystem: bebdc45 | (Sterling Hanenkamp)++ | META.list:
13:47 dalek ecosystem: adding P6SGI 0.4.Draft to the ecosystem
13:47 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/bebdc45312
13:47 FROGGS ugexe: hmmm, I guess I'd need an example or spectest...
13:47 RabidGravy shinobi-cl, it would be prudent to test the module against the glr-ed rakudo
13:48 ugexe FROGGS: additionally the module in question is *already loaded*, i.e. was being used by the module trying to precompile it
13:49 FROGGS ugexe: ohh well, that's a problem
13:49 ugexe ill try to dig up the problem bit of code if i can find it and golf it down sometime
13:49 FROGGS ugexe: also moarvm remembers CUs by path
13:51 ugexe i see. so if one were to monkey-type CURLI so they could access %!dists (%dist{$path} = module) and change something it would likely not work?
13:53 FROGGS I don't understand the connection of monkey-patching a built-in class and precompiling some random module...
13:54 ugexe i think it might have been CU that I was monkey patching
13:55 dalek rakudo/cu_load: 78cf343 | FROGGS++ | src/core/CompUnitRepo.pm:
13:55 dalek rakudo/cu_load: simplify handling of "use ...:from<...>"
13:55 dalek rakudo/cu_load: review: https://github.com/rakudo/rakudo/commit/78cf343030
13:55 dalek rakudo/cu_load: f010b7b | FROGGS++ | src/core/CompUnit (2 files):
13:55 dalek rakudo/cu_load: move module loading code from CUR to CompUnit
13:55 dalek rakudo/cu_load: review: https://github.com/rakudo/rakudo/commit/f010b7bf8a
13:55 muraiki zostay: if the p6sgi response is a promise but the message body is a supply, shouldn't a failure in the supply technically invalidate the promise? I guess I'm confused about embedding something that doesn't have the same sense of finality as a promise in a promise
13:55 FROGGS ugexe: ohh, and then it gets recomposed and if forgets about the lexical %instances and such?
13:56 rurban joined #perl6
13:56 ugexe yeah
13:57 moritz m: my $s = Supply.new; my $p = s.Promise; $s.fail("foo"); say $p.status
13:57 camelia rakudo-moar fd8b37: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter ; (must be quoted to match literally)␤at /tmp/Mskbvqh_H9:1␤------> 3my $s = Supply.new; my $p = s.Promise7⏏5; $s.fail("foo"); say $p.status␤Couldn't find terminator .␤at /tmp/Mskbvqh_H9:1…»
13:57 GLRelia rakudo-moar 57b7eb: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter ; (must be quoted to match literally)␤at /tmp/ytlKEQ5rhJ:1␤------> 3my $s = Supply.new; my $p = s.Promise7⏏5; $s.fail("foo"); say $p.status␤Couldn't find terminator .␤at /tmp/ytlKEQ5rhJ:1…»
13:57 Ven joined #perl6
13:57 moritz m: my $s = Supply.new; my $p = $s.Promise; $s.fail("foo"); say $p.status
13:57 camelia rakudo-moar fd8b37: OUTPUT«Method 'fail' not found for invocant of class 'Supply'␤  in block <unit> at /tmp/8UOZGPrIRl:1␤␤»
13:57 GLRelia rakudo-moar 57b7eb: OUTPUT«Method 'fail' not found for invocant of class 'Supply'␤  in block <unit> at /tmp/XjbbJI1ooT:1␤␤»
13:57 moritz m: my $s = Supply.new; my $p = $s.Promise; $s.quit("foo"); say $p.status
13:57 camelia rakudo-moar fd8b37: OUTPUT«Broken␤»
13:57 GLRelia rakudo-moar 57b7eb: OUTPUT«Broken␤»
13:57 FROGGS m: use MONKEY-TYPING; class Foo { my $bar; method baz { $bar = 42 }; method flubber { say $bar } }; Foo.new.baz; Foo.new.flubber; augment class Foo { }; Foo.new.flubber
13:57 camelia rakudo-moar fd8b37: OUTPUT«42␤42␤»
13:58 GLRelia rakudo-moar 57b7eb: OUTPUT«42␤42␤»
13:58 FROGGS ugexe: does not seem that simple^^
13:58 moritz m: my $s = Supply.new; my $p = $s.Promise; $s.emit('bar'); $s.quit("foo"); say $p.status
13:58 camelia rakudo-moar fd8b37: OUTPUT«Kept␤»
13:58 GLRelia rakudo-moar 57b7eb: OUTPUT«Kept␤»
13:58 ugexe FROGGS: it would run fine. it was only when precompiled
13:59 FROGGS I see
13:59 muraiki moritz: p6sgi isn't turning a supply into a promise; it's a promise that contains a list, with a supply as an element of the list
13:59 muraiki assuming that's what you're testing :)
14:00 moritz muraiki: yes :-)
14:04 thou joined #perl6
14:06 telex joined #perl6
14:07 hernanGOA joined #perl6
14:09 domidumont joined #perl6
14:12 ugexe FROGGS: going over my old comments i can give a more accurate description now. `class Some::CompUnit is CompUnit { method precomp(|c) { nextwith(|c } };` followed by Some::CompUnit.precomp(blah). This would work in most cases, but a core module that had been monkey-typed (and in case it relates, its `augment class IO::Path`) would be precompiled with `CompUnit` while everything else was precompiled with
14:12 ugexe `Some::CompUnit`
14:12 abraxxa joined #perl6
14:15 andreoss joined #perl6
14:18 rurban joined #perl6
14:20 RabidGravy eugh "GNOME with Wayland" doesn't do the ssh agent thing
14:20 * RabidGravy reboots again
14:21 Possum joined #perl6
14:25 pat_js joined #perl6
14:26 RabidGravy joined #perl6
14:27 Ven joined #perl6
14:27 [Coke] so, in re: august release - My recommendation is that we skip the august release, concentrate on getting glr merged back to mainline and removing the deprecations for the september release.
14:27 [Coke] since we've already -basically- skipped it, let's just officially skip it.
14:28 [Coke] then we can focus on moving forward instead of trying to catch up.
14:28 ShimmerFairy The only reason I heard for one was to have a recent-ish nom release to have sit on the channel after glr is merged, but then again you don't need a release to set that up :)
14:29 muraiki all I've done for rakudo is to find a few bugs, so I have no experience with making a release. but as a user I think that's a reasonable course of action
14:30 cognominal joined #perl6
14:31 [Coke] We can put in a placeholder "no-release" message and email it out to the list. I'll start on composing that.
14:32 PerlJam [Coke]++
14:36 pmurias joined #perl6
14:38 salva joined #perl6
14:40 ShimmerFairy aw, dalek died :<
14:40 Ven joined #perl6
14:46 [Coke] https://github.com/rakudo/rakudo/​blob/nom/docs/announce/2015.08.md
14:49 pmurias who killed dalek?
14:49 CIAvash joined #perl6
14:50 perl6_newbee joined #perl6
14:50 Ven joined #perl6
14:51 ShimmerFairy [Coke]++  looks good to me :)
14:55 moritz somebody drove up hack's load to 32 or higher
14:55 moritz now I can't connect to it anymore
14:55 FROGGS eww
14:56 moritz doing a hard reset now
14:57 dalek joined #perl6
15:00 dalek nqp/js: 52c0117 | (Pawel Murias)++ | src/vm/js/ (2 files):
15:00 dalek nqp/js: Implement printing to stderr.
15:00 dalek nqp/js: review: https://github.com/perl6/nqp/commit/52c0117cd3
15:00 hoelzro pmurias++
15:00 hoelzro pmurias: by the way, I talked with a few people about having the JS backend live in master, and got a good deal of support for that.  how do you feel about it?
15:02 pmurias hoelzro: having it in master will help keeping the test suits in sync and fight of bitrot
15:04 pmurias will jnthn be at yapc::eu?
15:04 pmurias I was hoping to talk to him amount the merge
15:05 cschwenz joined #perl6
15:05 Khisanth joined #perl6
15:06 PerlJam joined #perl6
15:06 dalek nqp/js: c4c285c | (Pawel Murias)++ | src/vm/js/nqp-runtime/nfa.js:
15:06 dalek nqp/js: Support EDGE_CODEPOINT_LL and the longlit optimalisation
15:06 dalek nqp/js: review: https://github.com/perl6/nqp/commit/c4c285cfe9
15:07 FROGGS pmurias: he won't
15:08 [Coke] joined #perl6
15:09 pmurias FROGGS: :(
15:09 dalek nqp/js: 8a21e61 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
15:09 dalek nqp/js: A ugly hack the way nqp::atpos_i works needed for NFA construction.
15:09 dalek nqp/js:
15:09 dalek nqp/js: Needs a rework/rethinking of the way arrays are handled to solve properly.
15:09 dalek nqp/js: review: https://github.com/perl6/nqp/commit/8a21e61839
15:09 dalek nqp/js: 6c9e0bc | (Pawel Murias)++ | src/vm/js/bin/run_tests:
15:09 dalek nqp/js: Add passing test 66 to run_tests
15:09 dalek nqp/js: review: https://github.com/perl6/nqp/commit/6c9e0bc975
15:09 [Coke] +1 on merging nqp/js to master.
15:10 [Coke] it's not like it's in the way of any of the other impls.
15:11 pmurias there are currently no js specific ifdefs
15:16 hoelzro pmurias: that's the idea
15:16 hoelzro pmurias: I started on a merge last Wednesday; it's quite tricky
15:16 hoelzro but I started powering through it this morning
15:17 hoelzro also, are you opposed to using node-bignum instead of node-bigint? the latter isn't maintained and doesn't work on Node 0.12
15:26 * [Coke] throws away today's roast data run due to reboots.
15:26 [Coke] 1,032 RTs remain.
15:27 [Coke] there are 9 tickets currently tagged [GLR] that need review.
15:27 [Coke] (and probably more untagged that are GLRish)
15:28 [Coke] hoelzro: did you see https://github.com/rakudo/rakudo/​blob/nom/docs/announce/2015.08.md ? that's partially a response to your email.
15:28 * hoelzro looks
15:29 Util joined #perl6
15:29 [Coke] If we mostly agree on that email, I would say let's 1) merge glr back to nom in rakudo and master in roast; 2) start ripping out deprecations; 3) figure out if anything else -has- to go in september's release.
15:30 hoelzro [Coke]: sounds good to me
15:35 Alina-malina joined #perl6
15:37 rangerprice joined #perl6
15:42 pmurias hoelzro: I don't have a strong preference for any of those libraries
15:42 hoelzro cool
15:43 pmurias hoelzro: any hard parts with the merge?
15:43 hoelzro yes =)
15:44 pmurias can I help with anything?
15:44 hoelzro there are a bunch of errors when trying to build it; I don't remember them off hand (something about add_multi_method, iirc?), but I'll keep working on it when I get home
15:44 hoelzro I'm at work right now, but I'll keep working on it afterwards
15:55 andreoss` joined #perl6
15:59 andreoss` left #perl6
15:59 pmurias hoelzro: re bignum/bigint switch, there seems to be a problem with binary and of negative numbers but once I figure how that's supposed to work I'll switch the library over
15:59 hoelzro pmurias: there's an outstanding issue with bignum for that; I was thinking of forking and issuing a PR to fix htat
15:59 hoelzro but I won't stop you if you want to do that ;)
16:00 * timotimo heads out until end of day
16:02 pmurias hoelzro: got a link to the issue?
16:02 hoelzro pmurias: I don't know if there's an actual issue, but there's a mention about it here: https://github.com/justmoo​n/node-bignum#differences
16:03 MilkmanDan joined #perl6
16:05 larion joined #perl6
16:09 japhb [Coke]: Your announce doc still contains "The tarball for this release is available"
16:10 japhb Otherwise it seems reasonable.  I like the idea of just making this a fallout-heavy release and trying to make the next few much less so.
16:12 japhb hoelzro: I'd say until the glr merge has had a couple days to shake out, there shouldn't be any deprecations removal except whatever comes with the merge itself.
16:13 japhb After that, I'd say clear out any really old deprecations first, then the ones that were created more recently.  Certainly I think the first round of deprecations could easily be "anything deprecated more than 6 months ago" all in one fell swoop.
16:14 hoelzro japhb: sounds good to me
16:18 japhb What's the current plan for merges?  Besides glr, we've got a few interesting merges to do at all levels of the stack, don't we?
16:19 tony-o who is github:daotoad ?
16:21 [Sno] joined #perl6
16:25 spider-mario joined #perl6
16:29 mohij joined #perl6
16:29 rurban joined #perl6
16:34 hoelzro japhb: speaking of merges, I have a feature branch that changes up Proc::Async a bit, but I'd like more eyes on it: https://github.com/rakudo/r​akudo/tree/proc-async-ready
16:35 cschwenz (sorry for being very much off topic)  Anyone here currently at YAPC::Eu?
16:37 hoelzro o/ cschwenz
16:37 cschwenz \o hoelzro  :-)
16:39 hoelzro cschwenz: this channel is a little quieter than usual, so I'm guessing a lot of the people there aren't on IRC at the moment
16:39 cschwenz1 joined #perl6
16:40 moritz hoelzro: 1) I don't like the naming. Why is a method for starting a program "started"? 2) I think it would be much user-friendlier to queue calls that depend on the program having started than having the user do that
16:41 moritz imho the 'await $program.start(...)' thing is a red herring; that only happens in very trivial code; otherwise you wouldn't need the ::Async variant
16:41 hoelzro re: the red herring - that's a fair point; it's kind of an anti-pattern
16:41 hoelzro (unless you need to consume both stdout and stderr)
16:42 hoelzro I agree about the naming; I chose something that's not start() so start itself could be deprecated instead of just changing out from under everyone using it
16:42 hoelzro I would prefer to use start, tbh
16:42 moritz well, it might be an anti-pattern, but not pervasible enough to require rename to a worse name
16:42 moritz *pervasive
16:43 moritz oh, I'm pretty sure modern Proc can consume both stdout and stderr
16:43 hoelzro it can, but can it consume interleaved?
16:43 cschwenz1 hoelzro: how about start with a different signature/accepted parameters/whatever it's called?
16:43 hoelzro can one do something like select() with the two handles?
16:43 dalek rakudo/nom: d8ef5ea | coke++ | docs/announce/2015.08.md:
16:43 dalek rakudo/nom: remove ref to tarball in non-release
16:43 dalek rakudo/nom:
16:43 dalek rakudo/nom: japhb++
16:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8ef5eaa8e
16:44 * [Coke] enjoys comfort breakfast, lunch, and beverages.
16:44 hoelzro cschwenz1: hmm...the thing is that my change changes start() from returning a Promise that is kept on child exit, to one that's kept when the child has actually started
16:45 cschwenz1 thus you would get to use start and instead of changing out from under everyone, it'll break just like a deprication would
16:45 cschwenz1 hmm
16:47 hoelzro moritz: would you prefer just breaking await $p.start() behavior instead of using a suboptimal name?
16:47 japhb hoelzro: Does anything ever set ProcStatus to Finished
16:47 japhb ?
16:48 hoelzro japhb: it seems not
16:48 hoelzro that would be a simple fix, though
16:49 japhb Also, is the TapBeforeSpawn check in !supply a race with the 'ready' callback?
16:49 tping joined #perl6
16:49 cschwenz1 left #perl6
16:50 muraiki I know there's a way to do this, but I forget how to do it: a parallel map where order is not important
16:50 hoelzro japhb: which line is that?
16:50 hoelzro er, nvm
16:51 japhb New lines 73 and 187
16:51 rurban joined #perl6
16:51 japhb muraiki: .hyper if order of operations is not important, .race if order of operations *and* order of output is not important.
16:52 muraiki japhb: thanks! your mentioning race reminded me, but I wasn't sure
16:52 japhb Well, technically, those just coerce the pipeline mode.
16:52 skids m: my @a = 1,2; @a[0,1] = (3..4).map({$_}); @a.say; # PR#522 fixes this.
16:52 camelia rakudo-moar 9b38c7: OUTPUT«3 4␤»
16:52 GLRelia rakudo-moar 57b7eb: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/7ZfI5AXCl6:1␤␤»
16:53 japhb It seems like an interesting GLR side effect is finding places we do unnecessary extra work
16:54 diana_olhovik joined #perl6
16:57 larion joined #perl6
17:15 FROGGS joined #perl6
17:20 RabidGravy is the "react { whenever ... } "  thing fairly settled now?
17:24 _itz joined #perl6
17:30 diakopter joined #perl6
17:31 pierrot good afternoon. how can I verify if a string belongs to the language generated by a Perl6 grammar?
17:32 RabidGravy just feed it to .parse() or do you mean something else?
17:36 vendethiel joined #perl6
17:38 RabidGravy e.g.
17:38 RabidGravy m: grammar Foo { token TOP { "foo" } }; say so Foo.parse("foo"); say so Foo.parse("bar")
17:38 camelia rakudo-moar d8ef5e: OUTPUT«True␤False␤»
17:38 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤False␤»
17:39 pierrot I was just looking at this article https://en.wikipedia.org/wiki/Perl_6_rules, the part where it says how to construct a grammar in Perl6 for the language {a^nb^nc^n: n>=1}. it would be with a rule like this: rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }. considering a string, say $str="aabbcc", how can I know if that string is generated by the grammar?
17:39 pierrot sorry, I was writing the message while you were writing yours with the example
17:39 pierrot :P
17:41 RabidGravy it's really that simple
17:42 RabidGravy if you just want to validate you don't need to pass any action class (if you have one) as it will just return a defined match or not
17:43 domidumont joined #perl6
17:46 pierrot grammar example { rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }; then example.parse("aabbcc") would return true, right?
17:47 ugexe you need a TOP
17:49 pierrot what means a "TOP". the initial rule?
17:51 RabidGravy so in your case rule S should be rule TOP
17:51 RabidGravy it is the "entry point" of the grammar
17:51 RabidGravy you can supply another rule to the parse method though
17:52 RabidGravy e,g:
17:53 RabidGravy m: grammar example { rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }; say so example.parse("aabbcc",rule => 'S');
17:53 camelia rakudo-moar d8ef5e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0akGSVL1He␤Missing block␤at /tmp/0akGSVL1He:1␤------> 3 so example.parse("aabbcc",rule => 'S');7⏏5<EOL>␤»
17:53 GLRelia rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BDouYmVROY␤Missing block␤at /tmp/BDouYmVROY:1␤------> 3 so example.parse("aabbcc",rule => 'S');7⏏5<EOL>␤»
17:53 RabidGravy m: grammar example { rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }}; say so example.parse("aabbcc",rule => 'S');
17:53 camelia rakudo-moar d8ef5e: OUTPUT«False␤»
17:53 GLRelia rakudo-moar 57b7eb: OUTPUT«False␤»
17:55 RabidGravy well apart from the rule not working but hey
17:56 Calibellus joined #perl6
17:57 rangerprice Perl is building using yacc ? ANTLR ? ...
17:58 [Coke] Perl 6 Grammers.
17:58 [Coke] bah. Grammars.
17:58 [Coke] back in the US for 2 days and I already can't spell!
17:58 vendethiel .oO( grammer nazi! wait, no.. )
17:58 muraiki m.c. grammer
18:00 [Coke] rangerprice: https://github.com/rakudo/rakudo​/blob/nom/src/Perl6/Grammar.nqp
18:00 rangerprice oh ok thank
18:03 dalek doc: 3c2ce32 | paultcochrane++ | lib/Type/Temporal.pod:
18:03 dalek doc: Add docs for sleep and friends
18:03 dalek doc: review: https://github.com/perl6/doc/commit/3c2ce324b3
18:04 colomon muraiki: “U can’t parse this!”
18:05 muraiki colomon++
18:05 pyrimidine .oO ( Kelsey Grammer )
18:06 xiaomiao joined #perl6
18:07 dha joined #perl6
18:10 dha Good approrpriate-time-of-day-for-your-time-zone!
18:10 [Coke] m: “U can’t parse this!”; # yes I can.
18:10 camelia rakudo-moar d8ef5e: OUTPUT«WARNINGS:␤Useless use of constant string "U can’t parse this!" in sink context (line 1)␤»
18:10 GLRelia rakudo-moar 57b7eb: OUTPUT«WARNINGS:␤Useless use of constant string "U can’t parse this!" in sink context (line 1)␤»
18:11 dha [Coke] - You mentioned that some people are working on the docs. Would it make sense for me to coordinate with said people, or is it all "We don't talk to each other, just write!" ;-)
18:12 japhb .ask nine Given the machine-native guts of https://github.com/rakudo/rakudo/commit/994fb0aa3f , why doesn't IO::Handle.print have a str multi to avoid the box and unbox of $str in the call to $out.print($str)?  I would think that might actually chew up a fair amount of GC and performance during heavy output, especially when you consider that multi sub print() has the same problem.
18:12 yoleaux japhb: I'll pass your message to nine.
18:14 [Coke] dha: there is currently no organized effort other than chatting here on IRC that I'm aware of. I would suggest just letting us know when you're working on something here, and the other interested doc folks can chime in, and perhaps you'll inspire some n00bs to contribute some docs at the same tmie.
18:16 dha Ok. The reason I ask is I'm considering doing something wide-ranging and possibly not worth doing. :-)
18:17 lucasb joined #perl6
18:17 dha I'm thinking of going through the doc directory and adding a "=comment TODO" to anything that's not documented (as, for instance, there is in variables.pod for C<state>) so we can track what's not done more easily.
18:17 dha Is that a good idea, an ok idea, or just stupid?
18:19 PerlJam After extensive review of your idea over the 10 seconds I've been paying attention to IRC just now, it sounds likea good idea to me  :)
18:19 dha Heh.
18:20 dha And what are *your* credentials for 10 second evaluations? ;-)
18:21 PerlJam [Coke]: re your post-glr email ... was anyone annotating the tests for those things that are required for 6.0 versus those things that can be put off to later releases.  (i.e. what does 6.0 mean in roast?)
18:21 PerlJam er, there should be another ? in there
18:24 RabidGravy dha, an alternative might be to add an issue on the docs github, that way people will see it without examining the files
18:25 dha RabidGravy -  do you have any idea how many things are not yet documented? :-)
18:25 dha I'm figuring this way you can just grep the damn things and get a count.
18:25 PerlJam RabidGravy: once annotated, the docs could be grepped to generate the issue.
18:25 lea joined #perl6
18:25 RabidGravy PerlJam, this is also true and a good plan :)
18:26 sufrostico hi
18:26 pierrot RabidGravy: sorry, I was away. Why didn't it work?
18:26 PerlJam sufrostico: greetings
18:26 sufrostico anyone with problems to install perl6 on a raspberry pi 2 ?
18:26 sufrostico I'm using rakudobrew
18:26 RabidGravy no, it works fine for me
18:26 dha ok, then. I'm going to start shoving comments into the docs. wheee.
18:27 sufrostico rakudobrew build moar works fine... but when traying to run
18:27 sufrostico rakudobrew build-panda
18:27 sufrostico it says that it can't find the perl6 command
18:27 pmurias joined #perl6
18:27 RabidGravy dha, no clear idea. I keep noticing un-documented things all the time
18:28 PerlJam RabidGravy: now you add TODOs for them when you spot them  ;)
18:28 dha RabidGravy -  Hence my plan. Thank you. :-)
18:28 RabidGravy PerlJam, or just add the documentation ;-p
18:29 dha That would also be nice. Please feel free to do so for C<state> in variables.pod before I start asking lots of annoying questions about it. :-)
18:29 PerlJam RabidGravy: Sure, but in lieu of the documentation (some things may be complex or take more time to document than you have), you can add the TODO :)
18:30 RabidGravy sufrostico, add the location of the perl6 to PATH
18:30 RabidGravy e.g. ~/.rakudobrew/bin/perl6
18:30 sufrostico RabidGravy, yep... and it works...
18:30 sufrostico I can call perl6 from the command line
18:35 [Coke] PerlJam: there was talk about annotating tests, but no one wants to have to go through and decide what's really a req vs. what happens to be working that way right now. It's a huge job.
18:35 [Coke] dha: there's already a WANTED section...
18:36 [Coke] [ptc]: any comments for dha on his docplan?
18:37 FROGGS $ perl6 -e 'use Data::Dumper:from<Perl5>; say Dumper [1, 2]'
18:37 FROGGS [$VAR1 = 1;
18:37 FROGGS $VAR2 = 2;
18:37 FROGGS ]
18:37 PerlJam [Coke]: I agree, but ... S01:37 naturally raises the question of "what's official?"
18:37 FROGGS it is odd to use Perl 5 modules just like that :D
18:38 FROGGS nine++
18:38 synbot6 joined #perl6
18:38 PerlJam S01:37
18:38 synbot6 Link: http://design.perl6.org/S01.html#line_37
18:38 PerlJam stupid bot.  Why do you keep dying?
18:39 dha [Coke] -  yeah, but adding all the undocumented stuff to that a) would make it hard to read and b) would be imprecise and not give any idea of how much still needs work.
18:39 dha For instance, none of the 13 methods in Baggy are documented.
18:40 dha So, just adding "all methods for Baggy" to WANTED would not give any impression of how much work needs to be done in that particular area.
18:40 RabidGravy there are whole classes not documented
18:40 dha If anything that's undocumented has some kind of flag, we can get actual data and munge it as needed.
18:41 dha RabidGravy -  yes, but do you know how much work is needed to document a given undocumented class?
18:42 dha (and by "you" I probably mean "one")
18:42 [Coke] dha: so you'd add stubs to the docs as part of adding hte todos?
18:44 RabidGravy the problem with adding whole (empty) class documentation is that the mpty page will just appear in the docs
18:44 [Coke] RabidGravy: I don't think that's a huge problem
18:44 [Coke] encouragement to fill in the void.
18:44 PerlJam indeed
18:45 RabidGravy so at that point the methods could be stubbed automtically
18:45 [Coke] +1 from me - at least the methods will appear, even if they currently have no docs. bonus points for having some nice text that explains why the space is blank.
18:46 FROGGS dalek is so silent :S
18:46 PerlJam +1 from me too FWIW
18:46 dha Not sure what you mean by stubs. I'm looking at variables.pod and under "=head2 The C<state> Declarator" theres a line that reads "=comment TODO"
18:46 pink_mist +1
18:46 RabidGravy a spot of grep, a spot of sed ypu could do most of the missing classes
18:46 dha I'm thinking of adding that wherever something has a heading, but no information.
18:47 dha I admit, that fact that Pod::Parser isn't passing tests is not making me happy in this context.
18:47 RabidGravy yeah then  "=head2 method foo\n\n=comment TODO"
18:49 dha That, of course, would only do methods or other things that only have single words to them.
18:49 FROGGS .tell lizmat look at the cu_load branch when you got some time... I fell pretty comfy with it
18:49 yoleaux FROGGS: I'll pass your message to lizmat.
18:50 dha I'm probably going to try to whip something up that'll find things like "=head2 Some Stuff Here\n\n=head2"
18:51 RabidGravy oh, I was  meaning the generation of stub documentation for missing classes
18:51 dha oh, yes. of course. Yes, that would certainly do.
18:52 dha The thing is, if the classes aren't already in the docs, I probably don't know about them. :-)
18:52 whiskey-drinking joined #perl6
18:52 dalek rakudo/cu_load: 269107e | FROGGS++ | src/core/CompUnit.pm:
18:52 dalek rakudo/cu_load: silence warning when loading modules
18:52 dalek rakudo/cu_load: review: https://github.com/rakudo/rakudo/commit/269107e672
18:52 dalek rakudo/cu_load: ba2ade8 | FROGGS++ | src/ (2 files):
18:52 dalek rakudo/cu_load: hook I::P5's ModuleLoader to CUR, not P6::ML
18:52 dalek rakudo/cu_load: review: https://github.com/rakudo/rakudo/commit/ba2ade814a
18:52 dalek rakudo/cu_load: c3a8c25 | FROGGS++ | src/core/CompUnitRepo.pm:
18:52 dalek rakudo/cu_load: make CU's file path absolute
18:52 dalek rakudo/cu_load: review: https://github.com/rakudo/rakudo/commit/c3a8c251a4
18:52 FROGGS ohh, better late than Ni
18:52 dha So... I would, at this point at least, just be adding TODO comments to existing empty headings.
18:53 FROGGS +1
18:55 PerlJam my ack of src/core shows 405-ish classes, most of which are X:: classes
18:56 PerlJam 170 non X:: classes
18:57 whiskey-drinking in expression @arr[*-1]  what is the star? Whatever object?
18:57 PerlJam whiskey-drinking: aye, that's a Whatever
18:58 RabidGravy m: say *.WHAT
18:58 camelia rakudo-moar d8ef5e: OUTPUT«(Whatever)␤»
18:58 GLRelia rakudo-moar 57b7eb: OUTPUT«(Whatever)␤»
18:59 [Coke] m: say (*-1).WHAT
18:59 camelia rakudo-moar d8ef5e: OUTPUT«(WhateverCode)␤»
18:59 GLRelia rakudo-moar 57b7eb: OUTPUT«(WhateverCode)␤»
19:00 japhb Is the Nativecall for C++ merge waiting on the GLR merge?
19:00 [Coke] I pinged the mailing list in case IRC is dead while people go from SPW to YAPC::EU, but: anyone object if we merge glr back to nom by the end of the day?
19:01 PerlJam https://gist.github.com/per​lpilot/12688b954a70fa28f525 for anyone interested in how I used ack or what the list of classes are
19:02 dha PerlJam -  ta.
19:02 RabidGravy [Coke], yeah,  I juust did three rakudobrews, can you leave it until tomorrow to reduce my feelings of futility ;-)
19:02 sufrostico OK, working know... for some reason the perl of the raspi is not getting right the PATH
19:02 japhb [Coke]: We're at zero failing spectests and sanity tests when rakudo/glr is paired with roast/glr, yes?
19:03 PerlJam [Coke]: Your plan sounded good.  I don't object to the merge
19:03 sufrostico I manually edited the rakudobrew script on the line 338 and put the full path
19:03 RabidGravy one failing sanity test
19:03 japhb RabidGravy: which one?
19:04 japhb sufrostico: Did you 'export' the PATH change in the same shell that you used to run following rakudobrew commands?
19:04 RabidGravy the nativecall/16-rt<mumble>08
19:04 * colomon started a moar-glr module smoke test run a few minutes ago...
19:04 PerlJam [Coke]: plus, if that's the way we're headed, merging will give those people who have code that may be affected by it more time to do something about it before the Sept. release
19:05 sufrostico japhd yep
19:05 sufrostico echo $PATH shows the right paths
19:05 japhb PerlJam: Don't we also need to document (at least) the role and grammar decls as well?
19:05 PerlJam japhb: Good point.
19:06 japhb sufrostico: that's odd then
19:07 japhb RabidGravy: Sounds relatively minor, but clearly *someone* will notice, since it came from an RT
19:07 japhb [Coke]: Yeah, I'm in favor of merging now/today.
19:07 rurban joined #perl6
19:07 japhb Who's got the patch pumpkin on C++ nativecall?
19:08 RabidGravy japhb er, at least one of my modules doesn't work at all because of it
19:08 pink_mist sufrostico: what does: export | grep PATH #give you?
19:08 PerlJam japhb: gist updated
19:08 japhb RabidGravy: Are you the one that created the RT?  :-)
19:08 RabidGravy yes
19:08 sufrostico japhb, ok.. working know ... I'm a horse... the PATH does not support the ~ symbol
19:09 pink_mist normally your shell will expand that for you before it winds up in the variable
19:09 japhb sufrostico: Oh yeah, not literally (so not single quoted when you set the PATH).  It has to be expanded before the assignment happens.  :-)
19:09 RabidGravy I've actually stopped working on audio stuff as not being able to deal with native flooats is somewhat of a showstopper
19:10 japhb RabidGravy: Oh, is it just failing in general, not nom- or glr-specific?
19:10 RabidGravy both
19:10 lucasb m: my @a = <a b c>; say @a[ -> *@b { 1 } ]
19:10 camelia rakudo-moar d8ef5e: OUTPUT«b␤»
19:10 GLRelia rakudo-moar 57b7eb: OUTPUT«(timeout)»
19:10 japhb RabidGravy: OK, so it may be a horrible pain, but it doesn't affect the glr merge.
19:11 RabidGravy no, not at all
19:12 japhb hoelzro, FROGGS: Is one of you the pumpkin holder for C++ nativecall?
19:14 RabidGravy sufrostico, what shell?
19:14 RabidGravy I just shove that exact path in the .bashrc and it's all good
19:18 dha Ok, I'm going to start adding TODOs. If we decide we don't like them, we can revert. This is why we have a VCS, right?
19:18 PerlJam dha++
19:19 skids lucasb: really glr is kind of "right" on that one.  The arity of a slurpy is Inf, so it tries to feed it infinitely many copies of the array length for WhateverCode purposes.  I could probably add a commit to warn on that to PR522
19:20 FROGGS japhb: I probably did the most in that area...
19:20 skids Hrm what are the rules for Inf-arity WhateverCode elsewhere...
19:21 FROGGS I should continue on this soonish :S
19:21 dalek doc: b7fb7c9 | (David H. Adler)++ | lib/Type/Baggy.pod:
19:21 dalek doc: Added TODO comments to lib/Type/Baggy.pod
19:21 dalek doc: review: https://github.com/perl6/doc/commit/b7fb7c9480
19:21 lucasb skids++, yeah, I really don't know what it should do. I was just showing a corner case...
19:21 lucasb m: say |(42 xx *)
19:21 camelia rakudo-moar d8ef5e: OUTPUT«␤»
19:22 GLRelia rakudo-moar 57b7eb: OUTPUT«(timeout)»
19:22 lucasb I wonder why camelia ends up with an empty output
19:23 skids lucasb: Partyly it is because the slice code treats all closures as WhateverCode.  I did not fix that, because my money is on someone relies on it.
19:24 skids Only taking WhateverCode would make it difficult to construct an Inf-arity one.
19:26 [Coke] dha: maybe also add a note to WANTED about the plan for TODO comments.
19:27 dha [Coke] -  will do, thanks.
19:27 [Coke] dha++
19:29 RabidGravy speaking of docs, are $*SPEC and the IO::SPec::* sub-classses staying for the foreseeable?
19:30 dalek doc: 37f6c07 | (David H. Adler)++ | WANTED:
19:30 dalek doc: Added TODO plan to WANTED
19:30 dalek doc: review: https://github.com/perl6/doc/commit/37f6c07f48
19:30 RabidGravy I actually started them then someone hinted they might not be staying
19:31 diana_olhovik joined #perl6
19:31 japhb FROGGS: What prevents merging C++ nativecall after the GLR merge (+ perhaps a bit of shakeout)?  ISTR you saying it was not complete, but that it was at least partially functional.  I'd like to prevent future bitrot, and get more people looking at it, by getting it on the main branch.
19:32 vendethiel japhb: IIRC, windows stuff
19:33 emilbarton joined #perl6
19:34 japhb vendethiel: If it is *only* Windows stuff that blocks it, that is not IMHO sufficient reason to keep it out.
19:34 MilkmanDan joined #perl6
19:34 vendethiel japhb: i'm not 100% sure. (btw, remember our lead dev is windows :P)
19:35 Possum joined #perl6
19:35 darutoko joined #perl6
19:35 Celelibi joined #perl6
19:35 Sgeo_ joined #perl6
19:35 gfldex joined #perl6
19:35 GLRelia joined #perl6
19:35 plicease joined #perl6
19:35 Guest63243 joined #perl6
19:35 vendethiel (well, is *working* on windows, at least...)
19:35 emilbarton hi, I get: no such attribute '$!buffer' in method accept at Socket/INET.pm:118 trying to launch a test server (my $Listen = IO::Socket::INET.new(:listen, :localport(3333));)
19:35 japhb vendethiel: Yes, but he's not doing C++ Nativecall work.
19:35 dustinm` joined #perl6
19:35 japhb Unless you meant that C++ nativecall *breaks the build* on Windows ....
19:35 cibs joined #perl6
19:38 vendethiel japhb: I don't think it does. I just meant - in general - that we can't really afford to treat windows as a second-class citizen :P
19:40 emilbarton maybe you moritz could explain, as you wrote this piece of code
19:41 moritz emilbarton: sounds like a bug; not much to explain
19:42 emilbarton should I add an attribute to new?
19:43 emilbarton moritz in fact I don't know about the $!buffer syntax
19:44 emilbarton or better a 'has'
19:44 laben joined #perl6
19:45 laben hello #perl6, how are you all doing?
19:45 tadzik sweaty
19:45 tadzik weather awful
19:45 dha ok, I guess.
19:45 moritz emilbarton: sorry, I have no brain capacity left today; feel free to ask me again tomorrow
19:46 emilbarton all right moritz I'll try in the morning then
19:46 muraiki emilbarton: I'm able to do this without any errors: perl6 -e 'my $Listen = IO::Socket::INET.new(:listen, :localport(3333)); sleep;'
19:46 muraiki do you have a recent rakudo?
19:46 emilbarton yes
19:46 laben m: for 1 { LAST { say "last!" }; next; }
19:46 camelia rakudo-moar d8ef5e: OUTPUT«last!␤»
19:46 GLRelia rakudo-moar 57b7eb: ( no output )
19:47 lucasb I think $!buffer is a jvm thing, isn't it?
19:47 emilbarton yes
19:47 lucasb emilbarton: are you on jvm?
19:47 lucasb oh, ok
19:47 emilbarton no
19:47 muraiki ah, I'm using moarvm
19:47 laben ok, let's check what happened wrt ecosystem
19:48 emilbarton bur muraiki, lucasb, the error occurs when my $conn = $Listen.accept;
19:49 muraiki emilbarton: I can do that also without a problem
19:49 muraiki what does perl6 --version show?
19:49 dha Is there any reason C<for> and C<gather>/C<take> are commented out in control.pod?
19:50 emilbarton This is perl6 version 2015.07.2 built on MoarVM version 2015.07
19:50 muraiki heh my perl6 is 2015.07.1-bunchofstuff so you actually have a newer one than me
19:50 muraiki let me build and we'll see
19:51 FROGGS japhb: I can potentially merge it after I checked that it works on linux, windows and mac...
19:51 FROGGS japhb: though, the problem is I've got no mac :/
19:52 jdv79 dha: you're not coming to ::EU?
19:52 Possum joined #perl6
19:52 darutoko joined #perl6
19:52 Celelibi joined #perl6
19:52 Sgeo_ joined #perl6
19:52 gfldex joined #perl6
19:52 GLRelia joined #perl6
19:52 plicease joined #perl6
19:52 Guest63243 joined #perl6
19:52 raiph joined #perl6
19:52 dha jdv79 -  sadly, no. Couldn't get it together in time.
19:52 dha Going to try for LPW, though.
19:53 jdv79 is that soon?
19:54 jdv79 briefly talked to jim aboout p6 doc effort.  i'm not sure he was into it.  maybe you could "present" on how to contribute at the next tech meeting.
19:54 jdv79 idk
19:55 dha Dec 12 for LPW
19:56 dha Yeah, I'm going to try to put something like that together. Although "how to contribute" seems a bit vague. I don't mean the phase is vague, I mean the hows of contributing are vague. :-)
19:57 mohij tadzik: Do you know the reason for using PATH modification in the *NIX shims in rakudobrew instead of directly calling the respective executable?
19:57 jdv79 as that is the day i began i will not be there.  not that you asked.  just sayin.
19:58 japhb FROGGS, vendethiel: I think we should allow merging changes that are just waiting on testing from other OSen, because non-core people on those platforms don't even know to go looking for other branches to test.  So we end up with a chicken-and-egg problem getting testing on those other platforms, unless we merge.
19:59 dha jdv79 -  so noted. :-)
19:59 japhb That said, we should merge such branches *long* before the next release.  :-)
19:59 jdv79 dha: i'm sure others have better ideas but even something like "pick a class, diff it to its doc at the routine level.  find the deficiencies and address them>
19:59 jdv79 "
19:59 jdv79 would be better than nothing
20:00 dha This is probably me being slow, but, what does "diff it to its doc at the routine level" actually mean?
20:02 muraiki emilbarton: I was able to get the IO::Socket::INET example at http://doc.perl6.org/type/IO::Socket::INET to work using "perl6 version 2015.07.1-185-gd8ef5ea built on MoarVM version 2015.07-108-g7e9f29e"
20:02 muraiki emilbarton: that's what rakudobrew gave me, so I'm not sure about perl 2015.07.2
20:02 muraiki which is what you have
20:03 emilbarton ok now I think that I'm using Socket::INET from an earlier perl version
20:03 emilbarton I just copied it to my newer perl
20:04 kjs_ joined #perl6
20:04 jdv79 i just meant loock for undoc'd routines
20:04 jdv79 *look
20:04 jdv79 the hotel wifi is a bit laggy 
20:05 dha ah. ok.
20:05 jdv79 or maybe try to do something relatively simple with p6 using only the docs 
20:05 jdv79 (no source diving )
20:05 jdv79 report the issues and if you can fix ghem 
20:06 jdv79 i'm just making stuff up at this point but ... can't be that hard)
20:06 jdv79 :)
20:06 emilbarton but muraiki the difference between the versions are This is perl6 version 2015.07.2 built on MoarVM version 2015.07 vs 2015.07.2 built on MoarVM version 2015.07
20:06 dha Ok, I'm going to assume that, given the silence on the topic, C<for> and C<given>/C<when> should not be commented out in control.pod. Changing to visible, but documented as TODO for now.
20:06 dha jdv79 -  indeed. I've certainly been winging it this whole time. :-)
20:07 muraiki emilbarton: you have perl 2015.07.2 and I have 2015.07.1-185-gd8ef5ea
20:07 emilbarton no I mean 2015.07.1-155-gedffe05 built on MoarVM version 2015.07-57-gec051f5 vs 2015.07.2 built on MoarVM version 2015.07
20:07 jdv79 i get the feeling moritz might feel teh same way and he's the docs guy
20:08 emilbarton muraiki I'm using IO from the earlier one, and I don't know how to get the newer
20:08 dha oops. that should be C<gather>/C<take> above.
20:09 muraiki emilbarton: maybe just do a `rakudobrew build moar` and hope for the best :)
20:10 emilbarton no since I've installed first rakudobrew (older) and then perl6 through Fedora (newer) -- but Fedora package manager doesnt propose IO so where could I download it?
20:10 muraiki oh, you installed perl6 through fedora? yeah, I only use rakudobrew
20:11 skids lucasb: I pushed a fix for the [-> *@ { }] case to PR#522.  I'm not sure |(1 xx *) can be fixed unless/until we have something like a "HintedIterator" role for things that know their Inf-ness or elems without reifying.
20:11 dalek doc: 802a261 | (David H. Adler)++ | lib/Language/control.pod:
20:11 dalek doc: Took entries that were commented out in lib/Language/control.pod and
20:11 dalek doc: changed them to entries with TODO comments
20:11 dalek doc: review: https://github.com/perl6/doc/commit/802a26135e
20:11 jdv79 dha are with/without doc'ed nearby?
20:11 muraiki because then i can get the latest stable version, although it seems like you somehow have a newer version from fedora's package manager
20:11 jdv79 oh, nm
20:11 emilbarton are these versions on github?
20:11 jdv79 misfire
20:11 muraiki until rakudo hits 1.0 I would recommend not using distribution-provided versions of rakudo
20:11 RabidGravy the fedora rakudo is quite uo to date for a packaged version
20:11 dha jdv79 -  those do not seem to appear in control.pod
20:12 emilbarton muraiki can you give me the address of a repo?
20:12 muraiki emilbarton: a repo for what? rakudobrew?
20:12 muraiki emilbarton: I'd remove the fedora package and then use https://github.com/tadzik/rakudobrew
20:13 RabidGravy I've got both installed, doesn't cause a problem
20:13 emilbarton ok I'll try that maybe -- let's see what moritz says tomorrow
20:13 muraiki once you install rakudobrew you'll want to `rakudobrew build moar`
20:13 jdv79 i meant misfire about eh nearby part 
20:13 emilbarton thanks muraiki
20:13 lucasb skids++, cool, thanks
20:13 muraiki because yeah you probably have somthing crazy going on with different library versions and perl versions
20:13 dha Well, since they're not there at all, I guess they're not nearby... :-)
20:13 jdv79 they should be doc'ed in that file somwehre
20:13 timotimo o/
20:14 timotimo once rakudobrew is done, you want ... oh
20:14 telex joined #perl6
20:14 RabidGravy muraiki, I don't have a problem with having both installed
20:14 dha jdv79 -  ok, there are a whole bunch of entries at the end that aren't documented yet. I'll add those. Should that show as one entry or two?
20:15 jdv79 i take mine wix without
20:15 jdv79 *wiz
20:15 muraiki RabidGravy: yeah, but I'm not sure why he's experiencing the problem he's experiencing, so this at least gets us on the same page :)
20:15 timotimo wizout?
20:15 jdv79 i didn't check explicitly but randomly its been said alot 
20:15 jdv79 there are lots of holes like that 
20:16 jdv79 LHF as they say.  as long as you are comfortable writing coherent docs that is
20:16 jdv79 timotimo: i'll try that next time i'm at Pat's
20:16 jdv79 pretty sure the guy will just yell "what" back at me 
20:17 dha that would be wit'out. :-)
20:17 dha unless you mean without wiz.
20:18 dha cheesesteaks are complicated.
20:18 [Coke] 1029 RTs left.
20:18 dalek doc: d3d7bbf | (David H. Adler)++ | lib/Language/control.pod:
20:18 dalek doc: Added with/without to control.pod as per jdv79's suggestion
20:18 dalek doc: review: https://github.com/perl6/doc/commit/d3d7bbfcf1
20:18 jdv79 no doubt about that 
20:18 [Coke] Goal: get us under 1K tickets for the september release.
20:18 brrt joined #perl6
20:19 sufrostico RapidGravy, the shell its bash
20:21 nightfrog joined #perl6
20:22 dha Hm. A couple of entries in nativecall.pod have "TBD" as their content. I assume that's "To Be Decided". Should those get TODO comments or not? Thoughts?
20:22 xiaomiao joined #perl6
20:23 dalek doc: 55471e9 | RabidGravy++ | lib/Type/IO/Spec.pod:
20:23 dalek doc: Start IO::Spec docs
20:23 dalek doc: review: https://github.com/perl6/doc/commit/55471e91b5
20:23 dalek doc: c2538a8 | RabidGravy++ | lib/Type/IO/Spec.pod:
20:23 dalek doc: Add method prototypes
20:23 pink_mist I'd say they should
20:23 RabidGravy oops sorry
20:23 dha pink_mist -  Yeah, I thought so too. Certainly it can't hurt.
20:24 dalek joined #perl6
20:24 RabidGravy dha, all with =comment TODO
20:24 dha *nod* so mote it be.
20:26 MilkmanDan joined #perl6
20:26 RabidGravy dha, those things in natvecall may not be completely implemented yet
20:27 dha Indeed. But maybe having the TODO comments will give that a push! :-)
20:27 pierrot I'm trying a simpler example than earlier. Suppose I have the following context-free grammar: S -> ab | aSb (of course S, that is the unique variable, is the initial symbol). That grammar obviously generates the language {a^nb^n: n>=1}. Now I'd like to convert it to Perl 6.
20:27 pierrot I tried:
20:27 pierrot m: grammar example { rule S { a<S>?b } }; say so example.parse("ab", rule => 'S');
20:27 camelia rakudo-moar d8ef5e: OUTPUT«True␤»
20:27 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
20:27 pierrot and returns true
20:28 pierrot but
20:28 pierrot m: grammar example { rule S { a<S>?b } }; say so example.parse("aabb", rule => 'S');
20:28 camelia rakudo-moar d8ef5e: OUTPUT«False␤»
20:28 GLRelia rakudo-moar 57b7eb: OUTPUT«False␤»
20:28 pierrot returns false
20:28 pierrot what's wrong?
20:29 timotimo m: grammar example { regex S { a<S>?b } }; say so example.parse("aabb", rule => 'S');
20:29 camelia rakudo-moar d8ef5e: OUTPUT«True␤»
20:29 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
20:29 timotimo something about the semantics of rule is causing that to not work
20:29 dalek doc: bbd4512 | (David H. Adler)++ | lib/Language/nativecall.pod:
20:29 dalek doc: Added TODO comments to TBD entries in nativecall.pod
20:29 dalek doc: review: https://github.com/perl6/doc/commit/bbd45121cb
20:29 dalek doc: 4ad2498 | (David H. Adler)++ | lib/Type/IO/Spec (5 files):
20:29 dalek doc: Merge branch 'master' of https://github.com/perl6/doc
20:29 dalek doc: review: https://github.com/perl6/doc/commit/4ad2498046
20:30 timotimo m: grammar example { regex S { :s a<S>?b } }; say so example.parse("aabb", rule => 'S');
20:30 camelia rakudo-moar d8ef5e: OUTPUT«False␤»
20:30 GLRelia rakudo-moar 57b7eb: OUTPUT«False␤»
20:30 timotimo sigspace somehow b0rks it for you, but it shouldn't, eh?
20:30 timotimo i mean, spaces are always optional in sigspace and there are no spaces to be found anywhere
20:32 RabidGravy I noticed that before and just thought I hadn't read the docs properly ;-)
20:32 YuviPanda hello!
20:32 pierrot so is it a bug?
20:32 YuviPanda I wrote a perl6 module! https://github.com/yuvipanda/perl6-Ident-Client
20:32 YuviPanda the docs tell me to ask here to get it added to the ecosystem :)
20:34 RabidGravy YuviPanda, make a pull request to https://github.com/perl6/ecosystem adding your META file to the META.list
20:34 pierrot I'd like to know if it's me that I'm not understanding well how to specify a grammar or it's the Perl 6 implementation that is not working
20:35 RabidGravy i.e add https://raw.githubusercontent.com/yuvipa​nda/perl6-Ident-Client/master/META.info to it
20:35 YuviPanda done! https://github.com/perl6/ecosystem/pull/55
20:35 PerlJam YuviPanda: you're going to want to make sure the name in META.info (currently Ident::Client::Perl) is the same as what's in the module and probably include "depends" and "provides" in your META.info.
20:35 lucasb idk if I understand correctly, but the spaces right after and before "{" and "}" are significant?
20:35 lucasb m: grammar G { rule TOP {a<TOP>?b} }; say so G.parse("aabb")
20:35 camelia rakudo-moar d8ef5e: OUTPUT«True␤»
20:35 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
20:35 dalek ecosystem: 635680b | (Yuvi Panda)++ | META.list:
20:35 dalek ecosystem: Add Ident::Client
20:35 dalek ecosystem:
20:35 dalek ecosystem: Simple Ident protocol client
20:35 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/635680b239
20:35 dalek ecosystem: 1e4f697 | RabidGravy++ | META.list:
20:35 dalek ecosystem: Merge pull request #55 from yuvipanda/patch-1
20:35 dalek ecosystem:
20:35 dalek ecosystem: Add Ident::Client
20:35 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/1e4f6971eb
20:36 YuviPanda PerlJam: whoops, fixing
20:36 YuviPanda PerlJam: has no dependencies, and I guess provides is just Ident::Client
20:36 yqt joined #perl6
20:36 raiph m: grammar example { token TOP { (a+) (b+) (c+) {$0.chars == $1.chars == $2.chars} }}; say so example.parse("aabbcc"); # for pierrot
20:36 yoleaux 25 Aug 2015 11:22Z <ab6tract> raiph: Not to worry, mate. I just had to run, and am always bothered by a "then fix it" response to a (relatively) major language design discussion
20:36 camelia rakudo-moar d8ef5e: OUTPUT«True␤»
20:36 GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
20:37 pierrot yoleaux: I had tried that, but with rule instead of token
20:37 pierrot and also I had substituted "elems" for "chars"
20:37 RabidGravy YuviPanda, "provides" : { "Ident::Client" : "lib/Ident/Client.pm" }
20:38 YuviPanda yep just updated
20:38 RabidGravy or similar
20:38 YuviPanda https://github.com/yuvipanda/perl6-​Ident-Client/blob/master/META.info
20:39 pierrot is there some good documentation about grammars (with examples and so on.. ) ?
20:39 raiph pierrot: the `rule` declarator means 1) spaces in regex are significant and 2) no backtracking
20:39 YuviPanda RabidGravy: thanks for merging!
20:39 YuviPanda PerlJam: thanks for spotting the META.info messup
20:40 YuviPanda so when does http://modules.perl6.org/ get updated? :)
20:40 PerlJam pierrot: http://doc.perl6.org/language/grammars
20:40 PerlJam pierrot: not comprehensive if that's what you meant by "good"  :)
20:40 PerlJam YuviPanda: I think it's updated every 15 minutes or so
20:40 YuviPanda \o/ cool
20:41 RabidGravy YuviPanda, I would suggesr also adding "source-url": "https://github.com/yuvipanda/perl6-Ident-Client" at the top level as I'm not sure how compliant some things are
20:41 RabidGravy (though this may be remedied now)
20:41 YuviPanda RabidGravy: hmm, panda gen-meta gave me the current location of source-url
20:41 raiph pierrot: `token` declarator means 1) ignore spaces in regex and 2) no backtracking
20:41 YuviPanda or at least, source
20:41 YuviPanda RabidGravy: but I can add the source-url as a toplevel, sure
20:42 pierrot raiph: thanks
20:42 raiph pierrot: `regex` declarator means 1) ignore spaces in regex and 2) backtrack to try match
20:42 RabidGravy at one stage it generated that but the thing that generated the packages.json didn't use it or something
20:44 raiph pierrot: { ... } in rule (`rule`/`token`/`regex`) is an assertion whereas <{...}> inserts result of {...} as a subrule
20:44 YuviPanda right
20:44 YuviPanda I've updated it now
20:44 pierrot raiph: awesome. Now I'm understanding.
20:45 dha Should I look to add the reduction operators to operators.pod or are we planning on documenting the newfangled metaoperators elsewhere at some point?
20:45 RabidGravy stick 'em in
20:45 pierrot PerlJam: that documentation is missing a lot of information :/
20:46 TimToady .tell ChoHag http://irclog.perlgeek.de/p​erl6/2015-08-30#i_11144152 looks like a bug to me, since .= is sugar for assignment, and assignment is supposed to be eager; please file a bug report, if you haven't already
20:46 yoleaux TimToady: I'll pass your message to ChoHag.
20:47 raiph pierrot: and I did s/.elems/.chars/ because otherwise you were doing 0 == 0 == 0
20:48 pierrot hmmm wouldn't be 1 == 1 == 1 ?
20:48 dha ok. ... I was just going to ask if anyone wanted to dash off a line for the precedence table for me, but they're already in the table, if not actually documented.
20:48 raiph m: grammar example { token TOP { (a+) (b+) (c+) {say $0.elems} }}; example.parse("aabbcc"); # for pierrot
20:48 camelia rakudo-moar d8ef5e: OUTPUT«0␤»
20:48 GLRelia rakudo-moar 57b7eb: OUTPUT«0␤»
20:48 mohij waaa google looks different!
20:49 dha Also, operators.pod contains the text "Other cases include meta-reduced infix operators (C<[+]| 1, 2, 3>)" Aren't the reduction operators actually considered list *prefix* operators? That's certainly the indication in the spec and in the precedence table.
20:50 dha (this is in the paragraph in operators.pod lines 101-104)
20:50 raiph pierrot: $0, $1 etc. are numbered regex captures (as you know) that contain full blown Match objects
20:51 PerlJam pierrot: there's this thing I wrote about grammars several years ago: https://github.com/perlpilot/perl6-docs​/blob/master/intro/p6-grammar-intro.pod  (there's always going to be lots of information missing I'm afraid)
20:51 dha Oh god. There are Bag operators...
20:52 dha Ok, those are associated with a class, and not effectively builtins. whew.
20:53 pierrot raiph: yeah, I know. But $1 is "aa", $2 is "bb", etc. And earlier I had tried "aa".elems and I got 1
20:53 pierrot m: say "aa".elems
20:53 camelia rakudo-moar d8ef5e: OUTPUT«1␤»
20:53 GLRelia rakudo-moar 57b7eb: OUTPUT«1␤»
20:54 pierrot why with the capture variables is 0 ?
20:54 raiph pierrot: If you treat a Match object as a list it lists its numbered regex captures; the $0, $1 etc. captures in your example have zero (sub-)captures
20:55 pierrot ohhh right
20:56 raiph whereas 'aa' when treated as a list acts as a 1 element list
20:56 pierrot Yep, I caught it.
20:56 pierrot Thanks
20:57 raiph pierrot: yw. :) I have to run now, will backlog later for any other Qs you have
20:58 pierrot Thanks raiph :D
20:58 dalek doc: 89d3f16 | (David H. Adler)++ | lib/Language/subscripts.pod:
20:58 dalek doc: Added TODO comment to Modifying Elements entry in subscripts.pod
20:58 dalek doc: review: https://github.com/perl6/doc/commit/89d3f16373
20:58 dha So. Anyone have any input on that infix/prefix question about reductions? 'cause I'm not touching that unless I actually think I understand it...
21:01 [Coke] dha: sorry, IDK.
21:01 dha Ok.
21:02 PerlJam dha: I think that's what the paragraph is saying.  Listops can be either term or prefix; an example listop is when you meta-reduce and infix op like [+]
21:02 dalek doc: 1f5b4de | (David H. Adler)++ | lib/Language/syntax.pod:
21:02 dalek doc: Changed commented out entries at the end of syntax.pod to commented
21:02 dalek doc: TODOs
21:02 dalek doc: review: https://github.com/perl6/doc/commit/1f5b4de1e6
21:02 PerlJam s/and/an/
21:02 dha ah. ok. that makes sense
21:02 dha PerlJam++
21:03 dwarring joined #perl6
21:03 lucasb m: say 2 [+] 3
21:03 camelia rakudo-moar d8ef5e: OUTPUT«5␤»
21:03 GLRelia rakudo-moar 57b7eb: OUTPUT«5␤»
21:04 dha ok, that's weird.
21:04 kjs_ joined #perl6
21:04 dha m: say [-] 3
21:04 camelia rakudo-moar d8ef5e: OUTPUT«3␤»
21:04 GLRelia rakudo-moar 57b7eb: OUTPUT«3␤»
21:04 dha ok, that may be even weirder.
21:04 dha m: say 2 [-] 3
21:04 camelia rakudo-moar d8ef5e: OUTPUT«-1␤»
21:05 GLRelia rakudo-moar 57b7eb: OUTPUT«-1␤»
21:05 TimToady a reduction op with 1 arg always just returns that arg
21:05 TimToady and that one is not a reduction
21:05 TimToady m: say 2 [[[[[-]]]]] 3
21:05 camelia rakudo-moar d8ef5e: OUTPUT«-1␤»
21:05 GLRelia rakudo-moar 57b7eb: OUTPUT«-1␤»
21:05 dha Huh.
21:05 TimToady you can just put as many [] there to disambiguate as you like
21:05 TimToady it's mostly for disambiguating with metaops
21:06 TimToady m: say 1,2,3 Z[+] 4,5,6
21:06 camelia rakudo-moar d8ef5e: OUTPUT«5 7 9␤»
21:06 GLRelia rakudo-moar 57b7eb: OUTPUT«(5 7 9)␤»
21:06 * dha tentatively nods.
21:07 TimToady it's only in prefix position that [] is interpreted as reduction
21:07 TimToady and you can put extra [] there too
21:08 TimToady m: say [[[*]]] 2..10
21:08 camelia rakudo-moar d8ef5e: OUTPUT«3628800␤»
21:08 GLRelia rakudo-moar 57b7eb: OUTPUT«3628800␤»
21:08 dalek roast/glr: e6fa419 | (David Warring david.warring@gmail.com)++ | integration/advent2012-day22.t:
21:08 dalek roast/glr: [advent2012-day22.t] GLRify 'IP address parse' example. unfudge RT121789
21:08 dalek roast/glr: review: https://github.com/perl6/roast/commit/e6fa4198d5
21:09 lucasb TimToady++ for explanation
21:09 TimToady so really there's only the [op] reduction syntax, and all other [] around infixes are no-ops, used for clarity or disambiguatoin
21:09 * PerlJam suddenly feels like an unstated thing should be stated.
21:09 PerlJam (Don't use extra [] unless *really* necessary  :)
21:10 dha ...or if we're starting up an Obfuscated Perl 6 Contest.
21:10 PerlJam exactly
21:11 dha We need to get Jon Orwant to publish a Perl 6 Journal. This is, after all, his fault. :-)
21:11 PerlJam heh
21:12 TimToady m: say 1,2,3 Z![==] 3,2,1
21:12 camelia rakudo-moar d8ef5e: OUTPUT«True False True␤»
21:12 GLRelia rakudo-moar 57b7eb: OUTPUT«(True False True)␤»
21:12 TimToady m: say 1,2,3 Z!== 3,2,1
21:12 camelia rakudo-moar d8ef5e: OUTPUT«True False True␤»
21:12 GLRelia rakudo-moar 57b7eb: OUTPUT«(True False True)␤»
21:14 timotimo oh hey TimToady :)
21:16 * [Coke] waves to TimToady
21:17 * TimToady feels like he's suddenly the center of attention...
21:18 dha You should be used to that by now. :-)
21:19 dha Are the reduction operators defined any differently at this point from the way they are in S03? Or can I just grab the first paragraph for operators.pod?
21:20 colomon joined #perl6
21:20 TimToady dha: yes, that's still pretty accurate
21:21 dha I. e. "Any infix operator (except for non-associating operators) can be surrounded by square brackets in term position to create a list operator that reduces using that operation"
21:21 dha ok. Will add.
21:21 [Coke] RT: 1,028
21:21 lucasb Is it really intended that (1,2,3), [1,2,3] gistify to "(1 2 3)" and "[1 2 3]" ? What do you think about putting some commas in there or drop the brackets?
21:22 TimToady that's what .perl is for
21:22 * [Coke] heads out from work - I'll send out the august non announcement tonight. I'll do the merges for glr in nom and roast unless someone objects or beats me to it.
21:22 TimToady and we didn't have the brackets before, which resulted in confusion post-GLR
21:23 TimToady so just think of them as s-exprs
21:23 lucasb s-exprs, funny :) So basically, .Str, .gist and .perl give 3 different formats :)
21:24 * vendethiel 's not sure we absolutely need both [] and (),but still needs to figure out parts of glr...
21:24 TimToady m: say 1,2,3 Z <a b c>
21:24 camelia rakudo-moar d8ef5e: OUTPUT«1 a 2 b 3 c␤»
21:24 PerlJam lucasb: it would be kind of strange for them to all have the _same_ format!
21:24 GLRelia rakudo-moar 57b7eb: OUTPUT«((1 a) (2 b) (3 c))␤»
21:25 TimToady ^^ there's where it's really important to see the structure
21:28 masak joined #perl6
21:28 masak good evening, #perl6
21:28 [ptc] o/  # perl6
21:28 masak :)
21:29 dalek doc: ee39d98 | (David H. Adler)++ | lib/Language/operators.pod:
21:29 dalek doc: Added entry on Reduction operators to operators.pod
21:29 dalek doc: review: https://github.com/perl6/doc/commit/ee39d9880c
21:29 dha If anyone has a chance at some point to take a peek at that to make sure I didn't get anything wrong or leave anything significant out I'd appreciate it.
21:30 dha Also, in put on the heading would be good, as it doesn't match the other headings in that doc, due to it covering multiple operators.
21:30 timotimo i find it a bit strange to say "reduction operators have ... associativity"
21:31 timotimo that sounds like you can put multiple reductions "in a row" and they'll somehow associate
21:31 timotimo does that document explain what "listop" precedence means?
21:32 dha I don't believe there is "listop" precedence, but List Prefix and List Infix precedence
21:32 masak it's funny, people talk about "listop precedence" as if that was a thing. I see what listops do as more of a total hijacking of the rest of the expression (in the sense of "I go first"), not a question of precedence (in the sense of "who goes first?")
21:33 dha "R  List prefix       print push say die map substr ... [+] [*] any Z="
21:33 masak right, or what dha said.
21:33 dha S03 says "If the reduction operator is defined separately from the infix operator, it must associate the same way as the operator used"
21:34 timotimo mhm
21:34 dha with the examples I used. Hence my comment about asssociativty
21:34 dha Is that ill-advised?
21:35 dha It looks like associativity is significant with [**]
21:35 lucasb Interesting, I didn't know that [**] would obey the right-associativity of **. I learned a thing today :)
21:35 lucasb so reduction operators are not always left fold, right?
21:35 dha Well, apparently, they respect their base operators. :-)
21:36 dha Or at least they are spec'd to do so. I have not tested.
21:37 colomon they evaulation their reduction according to their base operator’s precedance.
21:38 colomon that doesn’t affect the reduction meta-operator’s precedence, which I believe is List Prefix.
21:38 colomon so [**] A, B, C is the same as A ** B ** C — and that’s true for every infix operator, not just **
21:39 masak m: say 2 ** 3 ** 4; say [**] 2, 3, 4
21:39 camelia rakudo-moar d8ef5e: OUTPUT«24178516392292583494123​52␤2417851639229258349412352␤»
21:39 GLRelia rakudo-moar 57b7eb: OUTPUT«24178516392292583494123​52␤2417851639229258349412352␤»
21:39 masak m: say (2 ** 3) ** 4
21:39 camelia rakudo-moar d8ef5e: OUTPUT«4096␤»
21:39 GLRelia rakudo-moar 57b7eb: OUTPUT«4096␤»
21:39 colomon lovely example, masak
21:40 masak m: my ($a, $b, $c); [=] $a, $b, $c, 5; say join ", ", $a, $b, $c
21:40 camelia rakudo-moar d8ef5e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jwWWx9Gw0s␤Cannot reduce with = because list assignment operators are too fiddly␤at /tmp/jwWWx9Gw0s:1␤------> 3my ($a, $b, $c); [=]7⏏5 $a, $b, $c, 5; say join ", ", $a, $b, $␤»
21:40 GLRelia rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FRztz0MklK␤Cannot reduce with = because list assignment operators are too fiddly␤at /tmp/FRztz0MklK:1␤------> 3my ($a, $b, $c); [=]7⏏5 $a, $b, $c, 5; say join ", ", $a, $b, $␤»
21:40 masak ah. too fiddly.
21:41 colomon m: sub a($a, $b) { dd $a, $b; $a * $b }; [[&a]] 1..5
21:41 camelia rakudo-moar d8ef5e: OUTPUT«$a = 1␤$b = 2␤$a = 2␤$b = 3␤$a = 6␤$b = 4␤$a = 24␤$b = 5␤»
21:41 GLRelia rakudo-moar 57b7eb: OUTPUT«$a = 1␤$b = 2␤$a = 2␤$b = 3␤$a = 6␤$b = 4␤$a = 24␤$b = 5␤»
21:43 dha colomon -  I *believe* that is stated incorrectly. In this context, they evaluate their reduction according to their base operator's *associativity*, not precedence.
21:43 colomon dha++ # right
21:45 masak right.
21:45 masak completely unrelated: anyone know if the tap water is drinkable in Granada?
21:45 dha Nope. :-)
21:45 kjs_ joined #perl6
21:45 masak dang.
21:46 dha Nope, I don't know, not Nope it isn't.
21:46 dha :-)
21:46 masak ah.
21:46 masak I'm thirsty, and buying a pineapple juice at the cafeteria downstairs didn't help.
21:46 pink_mist I am 85% sure it isn't
21:46 * masak hunts around for a water boiler in his room
21:47 masak room has a bidet, but no water boiler. priorities fail.
21:47 TimToady masak: we've been drinking it with no ill effect
21:47 masak ok, then I will too
21:48 masak if the worst comes to worst, we can stomach bug together :P
21:48 timotimo noooo don't stomach-bug
21:48 timotimo i remember the last time i got that >_<
21:49 masak the tap water smells chlorinated -- which I'll take as someone having made an effort to make it drinkable
21:49 masak glug glug glug
21:49 TimToady if you put it into a bathtub it comes out blue, so maybe it's chloramines
21:50 masak dammit TimToady
21:50 masak I went to try, and nearly drenched myself
21:50 masak anyway, now I know how the shower works
21:52 TimToady which hotel are you in?
21:52 RabidGravy the first time I went to Spain (with my parents) in 1969 it was recommended to have a cholera jab
21:52 RabidGravy they've raised their game considerably since then
21:56 dalek rakudo-star-daily: 43c8fba | coke++ | log/ (9 files):
21:56 dalek rakudo-star-daily: today (automated commit)
21:56 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/43c8fba8c9
21:56 masak TimToady: hotel granada center
21:58 TimToady well, we don't have water boilers either at Abba
21:58 TimToady (nor do we have a bidet, fwiw)
21:59 frobisher joined #perl6
22:00 TimToady ow wow, I caught up on my backlog, and it's midnight, how convenient
22:00 TimToady night all &
22:04 japhb o/
22:04 zakharyas joined #perl6
22:08 masak 'night, TimToady
22:08 TEttinger joined #perl6
22:18 colomon joined #perl6
22:22 skids joined #perl6
22:30 brrt joined #perl6
22:31 masak someone in the RT queue really likes 9s.
22:38 masak 'night, #perl6
22:38 RabidGravy toodlepip
22:39 brrt joined #perl6
22:40 rurban joined #perl6
22:46 raiph .tell pierrot http://irclog.perlgeek.de/p​erl6/2015-09-01#i_11155377 is wrong. One must use a `?` or `!` for an assertion, eg `<?{...}>` is an assertion -- note the `?`. (I was right that `<{...}>` inserts the ... as a subrule.) (A plain `{...}` just tells P6 to do regular code (eg the debugging `say` that I used in http://irclog.perlgeek.de/perl6/2
22:46 yoleaux raiph: I'll pass your message to pierrot.
22:46 raiph 015-09-01#i_11155396))
22:48 pink_mist that was an unfortunate linebreak
22:49 muraiki joined #perl6
23:03 * [Coke] ships the skip notice on the august release.
23:04 tokuhirom3 joined #perl6
23:05 [Coke] do we have a repo standard on whether we collapse merges or keep individual commits?
23:06 [Coke] related question, anyone want to do the glr merging?
23:06 tokuhirom3 Hi, why `perl6-m -e 'use Shell::Command; Shell::Command::mkpath("/tmp/x/y/z”);` says `Could not find symbol '&mkpath'`?
23:08 b2gills .oO( I think all merges should be 「git merge --no-ff --ff-only」, only squashing in very few circumstances )
23:10 simcop2387 joined #perl6
23:12 [Coke] tokuhirom3: your quotes don't match, but that doesn't seem like that's the error you'd get.
23:14 dwarring tokuhirom3: mkpath is exported, but not 'our' scoped...
23:14 dwarring should work: use Shell::Command; mkpath("/tmp/x/y/z");
23:22 * dwarring reference http://design.perl6.org/S06.ht​ml#Globally_scoped_subroutines
23:30 aborazmeh joined #perl6
23:30 aborazmeh joined #perl6
23:59 aborazmeh joined #perl6
23:59 aborazmeh joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo