00:03 aborazmeh left 00:04 thou left 00:06 rangerprice left 00:11 aborazmeh joined, aborazmeh left, aborazmeh joined 00:22 mprelude left 00:25 Celelibi joined 00:34 ptufts joined 00:35 pecastro left 00:40 BenGoldberg joined 00:43 Celelibi left 00:51 pullphinger joined 01:01 raiph left 01:04 pochi_ left 01:23 llfourn joined 01:28 llfourn left 01:31 colomon left 01:33 laouji joined 01:34 colomon joined 01:38 Celelibi joined, dayangkun joined 01:39 cognominal left 01:47 thou joined 01:52 thou left 02:06 muraiki left 02:08 peteretep left 02:12 noganex joined 02:15 noganex_ left 02:28 aborazmeh left 02:39 ptufts left 02:45 cfloare left, cgfbee left 02:49 kaare_ joined, Averna joined 02:52 slowpoke_ joined, slowpoke_ left 03:16 cgfbee joined 03:17 cfloare joined 03:20 BenGoldberg left 03:24 telex left 03:25 llfourn joined 03:26 telex joined 03:29 llfourn left 03:35 thou joined 03:39 Averna left 03:40 aborazmeh joined, aborazmeh left, aborazmeh joined, thou left 03:54 aborazmeh left 03:56 aborazmeh joined, aborazmeh left, aborazmeh joined 03:58 llfourn joined 04:13 AlexDaniel left 04:14 aborazmeh left 04:22 laouji left 04:23 laouji joined 04:27 laouji left 04:31 laouji joined 04:36 aborazmeh joined, aborazmeh left, aborazmeh joined 04:37 eiro left 04:38 khw left 04:40 ShimmerFairy left 04:42 eiro joined 04:44 ShimmerFairy joined 05:14 xfix joined, xfix left, xfix joined 05:24 thou joined 05:28 thou left 05:36 leont joined 05:39 mr-foobar left 05:43 skids left 05:49 mr-foobar joined 05:56 CIAvash joined 06:01 leont left 06:02 aborazmeh left 06:03 kst left 06:09 FROGGS left 06:12 diana_olhovik joined 06:15 cdc left, cdc joined 06:17 laouji left 06:25 laouji joined 06:26 CQ2 joined 06:33 FROGGS joined 06:40 domidumont joined 06:41 [TuxCM] left 06:44 RabidGravy joined 06:45 domidumont left, domidumont joined
masak morning, #perl6 06:46
moritz \o
RabidGravy erp 06:49
06:52 domidumont left
nine Good morning! 06:52
06:54 laouji left 06:59 cschwenz1 joined 07:00 cschwenz left
masak RabidGravy: Enterprise Resource Planning? :) 07:02
RabidGravy nah it already sap-ped my will to live
07:02 laouji joined 07:04 Ven joined 07:05 domidumont joined
FROGGS o/ 07:05
ZBEGR - a customized greeting 07:06
Ven pretty cool. Hello there!
07:10 El_Che left 07:12 thou joined, El_Che joined, liztormato joined
liztormato waves from a place with a view of the sea 07:13
moritz waves back, listening to "Sailing to Philadelphia" 07:15
TEttinger waves but is distracted by people in NZ linking photos of their crickets i.imgur.com/Te1Y7kC.jpg 07:17
07:17 thou left
nine waves from a train 07:17
jdv79 i believe i missed the bus at the airport. next one might be in 3 hours.
cdc .tell zostay I think you can replace "Supply.on-demand(-> $a { ... })" construction with a supply block. gist.github.com/jnthn/a56fd4a22e7c...onstructs. I find this latter construction more readable.
yoleaux cdc: I'll pass your message to zostay.
07:18 larion left, liztormato left 07:20 liztormato joined
moritz can somebody explain in very simple terms what an on-demand supply does? 07:23
(and what it does differently than a "live" supply?)
jdv79 where is that distinction made? 07:24
moritz in src/core/Supply.pm iirc 07:25
07:25 llfourn left 07:26 rindolf joined 07:27 liztormato left 07:28 Ven left 07:29 mattp_ left
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:30
eg Supply.from-list() or e.g Supply.interval() 07:31
cdc then, a live supply can't "overflow", right ?
moritz RabidGravy: only available to the first tapper, or to all of them? 07:32
m: my $s = Supply.from-list(1, 2, 3, 4); $s.tap({}); $s.tap(&say); $s.done
camelia rakudo-moar 5ba44f: OUTPUT«Type check failed in binding &emit; expected 'Callable' but got 'Hash'␤ in block <unit> at /tmp/8quFHYLQIb:1␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in binding &emit; expected 'Callable' but got 'Hash'␤ in block <unit> at /tmp/4bWjCyfx7X:1␤␤»
moritz m: my $s = Supply.from-list(1, 2, 3, 4); $s.tap({;}); $s.tap(&say); $s.done
camelia rakudo-moar 5ba44f: OUTPUT«1␤2␤3␤4␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«1␤2␤3␤4␤»
07:32 darutoko joined
moritz to all, it seems 07:32
07:34 zakharyas joined
RabidGravy cdc, yeah on a live one if there are no tappers, emitting is basically a no-op 07:36
07:37 zakharyas left
cdc RabidGravy: thanks! 07:38
moritz ... and the bikeshedding on p6u continues (about oneliners now being strict again, by default) 07:39
RabidGravy good, good 07:41
07:41 zakharyas joined
ShimmerFairy moritz: there are people who _want_ no strict on one-liners? That's news to me. 07:41
masak the populace seems divided on this. 07:42
07:42 mohij_mobile joined
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
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.
oha the issue seems that -M-strict or -Mnostrict isn't working
ShimmerFairy moritz: there isn't an obvious subject line, could it be "killer advantages" ?
masak moritz: like, a mouse isn't likely to save up its old cursor positions just 'cus you subscribed late.
moritz ShimmerFairy: yes, deep in that thread
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
(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:45
I've always thought 'use' for enabling pragmas was weird, btw, I just didn't know the P5 legacy reasons until recently :) 07:49
07:52 abraxxa joined
moritz ShimmerFairy: I don't find it weird, because there are no clear-cut limits between pragmas and "real" modules 07:53
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:54
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
nine FWIW most pragmas in Perl 5 nowadazs are really user defined modules. 07:56
The same will probably be true for Perl 6 at one point.
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:57
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
"pragmatic module" may work better
lizmat Granada, here we come! 08:01
&
08:01 lizmat left
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
masak is also almost about to leave for Granada
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
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?
yoleaux mohij_mobile: I'll pass your message to tadzik.
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:"?!
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.
yoleaux mohij_mobile: I'll pass your message to tadzik.
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:05
08:07 virtualsue joined, blackcat_ joined 08:08 araujo_ joined
[ptc] slowly gets ready for Granada... 08:08
08:11 araujo left 08:19 pmurias joined
pmurias hi 08:20
08:23 espadrine_ joined, zacts left
pmurias any #perl6'er already in Granada? 08:23
08:24 araujo_ left, zacts joined
RabidGravy judging by my facebook feed, half of London is in Granada already 08:29
08:31 cognominal joined, araujo joined, araujo left, araujo joined 08:33 Ven joined
masak enjoys imagining that being literally true 08:34
08:35 laouji left 08:38 larion joined 08:39 laouji joined
masak airport & 08:42
08:43 baest_ is now known as baest
[ptc] have a good flight, masak 08:51
08:56 Ven left 09:00 thou joined 09:03 Ven joined 09:05 thou left 09:08 leont joined 09:10 mattp_ joined
RabidGravy rsync is not playing nicely with the rest of my computer this morning 09:16
09:16 TEttinger left
moritz bad rsync, no cookie 09:17
09:21 llfourn joined 09:23 laouji left 09:26 llfourn left 09:27 laouji joined 09:32 cschwenz1 left, laouji left
_itz_ packs for .es 09:33
09:34 leont left 09:44 pochi joined 09:46 rmgk left, rmgk joined
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:49
09:57 zakharyas left
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:58
09:59 andreoss joined, salva left
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␤␤»
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␤␤»
andreoss m: constant \x = 1,2,3; x.shift; say x eq [2,3];
camelia rakudo-moar 5ba44f: OUTPUT«Method 'shift' not found for invocant of class 'Parcel'␤ in block <unit> at /tmp/8U0DusFBb0:1␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Method 'shift' not found for invocant of class 'List'␤ in block <unit> at /tmp/CEBaJ2616L:1␤␤»
andreoss m: constant \x = @ _ 1,2,3; x.shift; say x eq [2,3];
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␤ …»
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␤ …»
andreoss m: constant \x = @ = 1,2,3; x.shift; say x eq [2,3];
camelia rakudo-moar 5ba44f: OUTPUT«True␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
andreoss mutable constants
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)␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«WARNINGS:␤Useless use of "eq" in expression "x eq [2,3]" in sink context (line 1)␤»
10:01 Ven left
andreoss m: constant \x = (1,2,3).Array; x.shift; say x eq [2,3]; 10:01
camelia rakudo-moar 5ba44f: OUTPUT«True␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«True␤»
10:03 dayangkun left
mohij_mobile pink_mist: How would you assess the Windows user base wrt how they currently use Perl5 and will/should use Perl6? 10:06
10:06 [Sno] left 10:07 prammer joined 10:08 [Sno] joined
andreoss m: constant \x = 1.Array; say ++x[0]; 10:08
camelia rakudo-moar 5ba44f: OUTPUT«2␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«2␤»
andreoss m: constant \x = 1.Int; say ++x;
camelia rakudo-moar 5ba44f: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/hTzWzyYb8x:1␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/zD6n9GTOtz:1␤␤»
RabidGravy mohij_mobile, lot's of people use p5 on windows, the vast majority use a packaged build such as strawberry perl
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:08 pullphinger left
mohij_mobile pink_mist: plenv uses shims to delegate to the respective executables. Rakudobrew does that already (and also on windows). 10:10
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
RabidGravy yes, it has to be either .BAT or .CMD on windows 10:13
(assuming you want it run under the default command shell) 10:14
mohij_mobile RabidGravy: or .pl if using Perl proves to be feasable.
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.
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
moritz pink_mist: rakudo depends on perl 5 at run time
pink_mist: erm, sorry, at configure time
pink_mist: and for building; but not for running
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.
Custom perl5 versions are missing in that workflow though. Could be a tough one to create a plenv in Perl though... :-( 10:19
andreoss can i have immutable array? 10:21
10:22 pmurias left
moritz andreoss: no; arrays are mutable by definition 10:22
tadzik computer, messages
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?
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.
tadzik mohij_mobile: well, apart from its name rakudobrew is much more like plenv than perlbrew :)
mohij_mobile: what do you want to create that rakudobrew isn't? 10:23
mohij_mobile that's what I'm thinking :-)
I'm mostly interested in local/.perl-version support
tadzik what's that? 10:24
mohij_mobile But if it turns out easy I'd go for full pl* command support.
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
pink_mist that's neat 10:25
10:27 jdias left
tadzik oh! 10:29
very cool
10:30 jdias joined
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
food&
10:31 jdias left 10:41 rindolf left, mprelude joined 10:46 virtualsue left, virtualsue_ joined, virtualsue_ is now known as virtualsue
cdc m: my @array; @array.push(a => 1) 10:47
camelia ( no output )
GLRelia ( no output )
cdc m: my @array; @array.push(a => 1); @array.say
camelia rakudo-moar 5ba44f: OUTPUT«␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«[]␤»
cdc m: my @array; @array.push((a => 1)); @array.say
camelia rakudo-moar 5ba44f: OUTPUT«a => 1␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«[a => 1]␤»
cdc it's OK 10:48
10:48 thou joined 10:51 rindolf joined 10:53 thou left, virtualsue left, salva joined 10:55 pecastro joined
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) ... }]<>␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«[-> ;; $_? is parcel { #`(Block|65854248) ... }]␤»
cdc m: my $a = class { has Str @.strs }.new(strs => <hello world>); my @b; @b.push: { 1 => $a.strs[0] }; @b.perl.say
camelia rakudo-moar 5ba44f: OUTPUT«[{"1" => "hello"}]<>␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«["1" => "hello"]␤»
cdc is this ^^ expected? 10:58
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
(and you used $_ implicitly via ".strs[0]")
FROGGS aye 11:00
cdc: this would have returned a hash just a week ago... I fixed a bug there to return a block
11:00 zakharyas joined
cdc timotimo: ho, I see 11:01
FROGGS: yes, it used to work :)
FROGGS cdc: because if it wasn't a block, it would translate to: { 1 => Any.strs[0] }
cdc FROGGS: can I take a look at the commit/ticket?
FROGGS hold on
cdc: github.com/rakudo/rakudo/commit/ab...6a68a77f0b 11:02
cdc FROGGS: thanks!
FROGGS RT #125767
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125767
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) ... }]<>␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«[-> ;; $_? is parcel { #`(Block|71678872) ... }]␤»
FROGGS and that $_ refers to the block it is in...
so yes, I still think it is correct
cdc FROGGS: I understand now, thanks! 11:06
for the record, one just has to use a pointy block with a named parameter in this case. 11:07
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"}]<>␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«["1" => "hello"]␤»
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:13
11:21 Akagi201 joined 11:24 SamuraiJack joined 11:33 rindolf left
jdv79 finally got to the hotel 11:36
11:39 Ven joined 11:47 zakharyas left 11:54 abraxxa left, abraxxa joined
daxim what does {:!e, :!q, :!r, :!t, :!w}<> mean? and in general, how do I look up parts of the syntax? p3rl.org/data equivalent? 11:57
cdc daxim: where did you find this? To me the trailing <> looks like a glitch from pre-GLT ages 11:59
11:59 Ven left
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)
cdc daxim: :!e is the short for "e => False"
m: {:!e, :!q, :!r, :!t, :!w}.perl.say
camelia rakudo-moar 5ba44f: OUTPUT«{:!e, :!q, :!r, :!t, :!w}␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«{:!e, :!q, :!r, :!t, :!w}␤»
timotimo heh 12:01
our .perl is "clever" enough to abbreviate that
cdc daxim: about the syntax part, you might take a look at S02
timotimo m: {:!e, :!q, :!r, :!t, :!w}.fmt("%s %s").say
camelia rakudo-moar 5ba44f: OUTPUT«q False␤e False␤w False␤t False␤r False␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«q False␤e False␤w False␤t False␤r False␤»
cdc daxim: design.perl6.org/S02.html 12:02
xfix m: {e => False}.perl.say 12:04
camelia rakudo-moar 5ba44f: OUTPUT«{:!e}␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«{:!e}␤»
xfix Pretty much.
RabidGravy is on the verge of breaking his computer 12:06
so I can do "require Foo; say ::('Foo').^methods" and all is good 12:07
but in the actual code that I want to do it in, it isn't working
which is somewhat aggravating 12:10
12:10 llfourn left 12:12 AlexDaniel joined 12:14 mohij_mobile left
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:17
FROGGS RabidGravy: I fear you have to golf it to something rakudobuggable 12:20
RabidGravy: I'll happily try to fix it 12:21
12:22 CIAvash left 12:29 llfourn joined 12:31 Akagi201 left 12:36 thou joined, pullphinger joined
RabidGravy ah, I think I got it 12:38
"use" craps out with circular include detected or whatever 12:39
require just doesn't do it
silently 12:40
12:41 thou left
hoelzro o/ #perl6 12:44
colomon \o 12:45
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:47
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:49
camelia rakudo-moar 5ba44f: OUTPUT«2␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«2␤»
hoelzro ShimmerFairy: according to the release guide, it's on the 17th...but there was supposed to be one on the 20th?
andreoss what is constant in that case?
moritz andreoss: the reference to the container is constant
though one might argue that constant should decontainerize 12:50
ShimmerFairy m: constant \x = $ = 1; x++; say x.VAR.WHAT
camelia rakudo-moar 5ba44f: OUTPUT«(Scalar)␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(Scalar)␤»
ShimmerFairy m: constant \x = 1; say x.VAR.WHAT
camelia rakudo-moar 5ba44f: OUTPUT«(Int)␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(Int)␤»
12:50 pat_js joined
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:51
andreoss why does .gist now describes lists as (a b c) without commas? 12:53
ShimmerFairy the brackets are to more clearly show nested list structure without resorting to .perl 12:54
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
moritz there'a always .perl too
dalek ast: 6104874 | hoelzro++ | S17-lowlevel/lock.t:
Fix TODO test for RT #124793

This test suffers from a multithreading bug known as "lost wakeup". A lost wakeup situation occurs when you have one thread signaling a condition variable, and another waiting on it. What happens is that the signal happens before the wait, and the thread waiting waits for a signal that will never come. Normally, it occurs because one side forgot to lock the mutex guarding the condition variable. However, since conditional variables are typically used to guard resources whose condition changes, it can still occur when using locks. The solution was to have the waiting thread check an artificial resource for readiness, and the signaling thread to make that artificial resource ready.
12:56
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124793
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 ?
hoelzro ShimmerFairy: that's a separate reason
FROGGS RabidGravy: are you doing 'require Foo' or 'require "Foo.pm"'?
hoelzro but I believe I know why that is too
RabidGravy require Foo
hoelzro lock.t calls $t1.join...but join() is not a method on Thread 12:58
it's a method on Any
FROGGS RabidGravy: hmmm, sad, I was hoping for the opposite
hoelzro which is just self.list.join
FROGGS RabidGravy: though, that sounds solvable
12:58 Ven joined
hoelzro so Thread.^find_method('join') doesn't actually do anything thread-related 12:58
RabidGravy it definitely is the circular inclusion thing
hoelzro should I change the test to use finish instead of join, or add Thread.join as a synonym to Thread.finish? 12:59
I'm leaning towards the latter
RabidGravy I removed the offending use out of the file that I was trying to require and it all works
moritz hoelzro: the source for dalek: git://github.com/Infinoid/dalek-plugins.git
[Coke] waves from his desk at work. :|
hoelzro o/ [Coke]
moritz: thanks! 13:00
13:01 sufrostico joined
hoelzro I'll just add Thread.join, and will beg for forgiveness later if need be =) 13:02
moritz ++hoelzro
13:04 llfourn left 13:06 [TuxCM] joined
AlexDaniel m: m: say [::]/\/\/\/\/\/\[:/ 13:07
camelia rakudo-moar 5ba44f: OUTPUT«13␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«13␤»
AlexDaniel hmmmmmmm
11 was a better number irclog.perlgeek.de/perl6/2015-07-24#i_10948795 13:08
13:08 Ven left
dalek kudo/nom: fd8b378 | hoelzro++ | src/core/Thread.pm:
Add Thread.join as an alias for Thread.finish

A lot of people from other programming environment backgrounds will likely try Thread.join, and get very confused when it compiles and runs but does not synchronize. Also, the chances of wanting to perform a string join with a thread is low
13:10
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:14
moritz we have that already, it's called Cool 13:15
we're just not consequent in putting stuff into Cool instead of Any
13:15 salva left
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.
timotimo well, join is something to use with lists and Any is for things that are elements, but can act like lists
moritz or we could just stop pretending that Any is a one-element list 13:19
13:20 muraiki joined
ShimmerFairy I don't think I'd mind that, but would it break anything major? 13:20
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)
moritz for example, currently list.pick returns the picked element, not a one-element list
and that currently DWIMs both when used as an element and a list 13:22
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)
ShimmerFairy FROGGS: Like I just said, I'm nowhere near qualified to do that :P
13:25 RabidGravy left
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
13:25 skids joined
hoelzro what would be a good cut-off point for log messages from Git push events? 13:26
I no longer want to subject the entire channel to the novels I push into git commits =)
moritz hoelzro: 50 lines?
hoelzro: I like reading long commit messages here :-)
13:26 Ven joined
hoelzro oh, you do? 13:26
colomon long commit messages are good. :)
ShimmerFairy hoelzro: I like writing long commits, and I'm imminently going to push a branch full of 'em :P 13:27
hoelzro mwahahaha
ok, then I won't do anything!
FROGGS hoelzro: I also like long messages... so please dont touch it :o) 13:28
hoelzro got it!
FROGGS $ perl6 -e 'BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); say Test' 13:39
(Test)
\o/
ShimmerFairy \o/ 13:40
I'm assuming that's some module work there? :)
13:40 Ven left
FROGGS aye 13:40
ShimmerFairy (er, S11/S22)
13:41 rindolf joined
JimmyZ FROGGS: Does it mean faster startup? 13:42
FROGGS JimmyZ: no, it just is about saner code
hoelzro I wrote a mail about dealing with deprecations leaving rakudo this month: www.nntp.perl.org/group/perl.perl6....11175.html 13:43
13:44 visitor1 is now known as shinobicl
FROGGS +1 to that 13:44
13:44 shinobicl is now known as shinobi-cl
FROGGS dunno if we need a branch though 13:44
ugexe are CU things going to still be cached by their path in the future? 13:45
13:45 khw joined
FROGGS ugexe: most likely, yes 13:46
err...
yes, confirmed
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:47 RabidGravy joined
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 osystem: bebdc45 | (Sterling Hanenkamp)++ | META.list:
adding P6SGI 0.4.Draft to the ecosystem
FROGGS ugexe: hmmm, I guess I'd need an example or spectest...
RabidGravy shinobi-cl, it would be prudent to test the module against the glr-ed rakudo
ugexe FROGGS: additionally the module in question is *already loaded*, i.e. was being used by the module trying to precompile it 13:48
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
FROGGS ugexe: also moarvm remembers CUs by path
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:52
FROGGS I don't understand the connection of monkey-patching a built-in class and precompiling some random module... 13:53
ugexe i think it might have been CU that I was monkey patching 13:54
dalek kudo/cu_load: 78cf343 | FROGGS++ | src/core/CompUnitRepo.pm:
simplify handling of "use ...:from<...>"
13:55
kudo/cu_load: f010b7b | FROGGS++ | src/core/CompUnit (2 files):
move module loading code from CUR to CompUnit
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
FROGGS ugexe: ohh, and then it gets recomposed and if forgets about the lexical %instances and such?
13:56 rurban joined
ugexe yeah 13:56
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…»
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
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␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Method 'fail' not found for invocant of class 'Supply'␤ in block <unit> at /tmp/XjbbJI1ooT:1␤␤»
moritz m: my $s = Supply.new; my $p = $s.Promise; $s.quit("foo"); say $p.status
camelia rakudo-moar fd8b37: OUTPUT«Broken␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Broken␤»
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:58
camelia rakudo-moar fd8b37: OUTPUT«42␤42␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«42␤42␤»
FROGGS ugexe: does not seem that simple^^
moritz m: my $s = Supply.new; my $p = $s.Promise; $s.emit('bar'); $s.quit("foo"); say $p.status
camelia rakudo-moar fd8b37: OUTPUT«Kept␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Kept␤»
ugexe FROGGS: it would run fine. it was only when precompiled
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
assuming that's what you're testing :)
moritz muraiki: yes :-) 14:00
14:02 domidumont left 14:03 pat_js left 14:04 thou joined, telex left 14:06 telex joined 14:07 hernanGOA joined 14:09 domidumont joined 14:11 rurban left 14:12 abraxxa left
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
`Some::CompUnit`
14:12 abraxxa joined 14:15 andreoss left, andreoss joined 14:18 rurban joined 14:19 Ven left
RabidGravy eugh "GNOME with Wayland" doesn't do the ssh agent thing 14:20
RabidGravy reboots again
14:20 Possum left, RabidGravy left 14:21 Possum joined 14:24 cognominal left 14:25 pat_js joined 14:26 RabidGravy joined, rurban left 14:27 Ven joined
[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
since we've already -basically- skipped it, let's just officially skip it.
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 :)
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:29
14:29 Ven left 14:30 cognominal joined
[Coke]