»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
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«1234» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«1234» | ||
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/aD2L5iH3E3Two terms in a rowat /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/qxXimF404lTwo terms in a rowat /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 Falsee Falsew Falset Falser False» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«q Falsee Falsew Falset Falser 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.statusCouldn'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.statusCouldn'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«4242» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«4242» | ||
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 |
|