»ö« 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 | |
14:29
Ven left
14:30
cognominal joined
|
|||
[Coke] | We can put in a placeholder "no-release" message and email it out to the list. I'll start on composing that. | 14:31 | |
PerlJam | [Coke]++ | 14:32 | |
14:36
pmurias joined
14:37
larion left,
Guest54260 left
14:38
dalek left,
salva joined
14:40
JimmyZ left
|
|||
ShimmerFairy | aw, dalek died :< | 14:40 | |
14:40
Ven joined
14:42
synbot6 left
14:44
Util_ left
|
|||
[Coke] | github.com/rakudo/rakudo/blob/nom/...2015.08.md | 14:46 | |
14:47
Ven left
|
|||
pmurias | who killed dalek? | 14:49 | |
14:49
CIAvash joined
14:50
perl6_newbee joined,
Ven joined
|
|||
ShimmerFairy | [Coke]++ looks good to me :) | 14:51 | |
14:54
Ven left
14:55
Khisanth left
|
|||
moritz | somebody drove up hack's load to 32 or higher | 14:55 | |
now I can't connect to it anymore | |||
FROGGS | eww | ||
moritz | doing a hard reset now | 14:56 | |
14:57
dalek joined,
ChanServ sets mode: +v dalek,
psch left
|
|||
dalek | p/js: 52c0117 | (Pawel Murias)++ | src/vm/js/ (2 files): Implement printing to stderr. |
15:00 | |
hoelzro | pmurias++ | ||
15:00
abraxxa left
|
|||
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:00 | |
15:02
salva left
|
|||
pmurias | hoelzro: having it in master will help keeping the test suits in sync and fight of bitrot | 15:02 | |
will jnthn be at yapc::eu? | 15:04 | ||
I was hoping to talk to him amount the merge | |||
15:05
cschwenz joined
15:06
Khisanth joined,
PerlJam joined
|
|||
dalek | p/js: c4c285c | (Pawel Murias)++ | src/vm/js/nqp-runtime/nfa.js: Support EDGE_CODEPOINT_LL and the longlit optimalisation |
15:06 | |
15:06
diana_olhovik left
|
|||
FROGGS | pmurias: he won't | 15:07 | |
15:08
[Coke] joined
|
|||
pmurias | FROGGS: :( | 15:09 | |
dalek | p/js: 8a21e61 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: A ugly hack the way nqp::atpos_i works needed for NFA construction. Needs a rework/rethinking of the way arrays are handled to solve properly. |
||
p/js: 6c9e0bc | (Pawel Murias)++ | src/vm/js/bin/run_tests: Add passing test 66 to run_tests |
|||
15:09
perl6_newbee left
|
|||
[Coke] | +1 on merging nqp/js to master. | 15:09 | |
it's not like it's in the way of any of the other impls. | 15:10 | ||
pmurias | there are currently no js specific ifdefs | 15:11 | |
15:15
FROGGS left
|
|||
hoelzro | pmurias: that's the idea | 15:16 | |
pmurias: I started on a merge last Wednesday; it's quite tricky | |||
but I started powering through it this morning | |||
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:17 | ||
[Coke] throws away today's roast data run due to reboots. | 15:26 | ||
1,032 RTs remain. | |||
there are 9 tickets currently tagged [GLR] that need review. | 15:27 | ||
(and probably more untagged that are GLRish) | |||
hoelzro: did you see github.com/rakudo/rakudo/blob/nom/...2015.08.md ? that's partially a response to your email. | 15:28 | ||
hoelzro looks | |||
15:29
Util joined
|
|||
[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:29 | |
hoelzro | [Coke]: sounds good to me | 15:30 | |
15:32
Alina-malina left
15:35
Alina-malina joined
15:37
rangerprice joined
|
|||
pmurias | hoelzro: I don't have a strong preference for any of those libraries | 15:42 | |
hoelzro | cool | ||
pmurias | hoelzro: any hard parts with the merge? | 15:43 | |
hoelzro | yes =) | ||
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 | ||
I'm at work right now, but I'll keep working on it afterwards | |||
15:55
andreoss` joined
15:56
andreoss left
15:59
andreoss` left
|
|||
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 | ||
but I won't stop you if you want to do that ;) | |||
timotimo heads out until end of day | 16:00 | ||
16:01
MilkmanDan left
|
|||
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: github.com/justmoon/node-bignum#differences | ||
16:03
MilkmanDan joined
16:05
larion joined
|
|||
japhb | [Coke]: Your announce doc still contains "The tarball for this release is available" | 16:09 | |
16:09
CQ2 left
|
|||
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:10 | |
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:12 | ||
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:13 | ||
hoelzro | japhb: sounds good to me | 16:14 | |
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:18 | |
tony-o | who is github:daotoad ? | 16:19 | |
16:20
pullphinger left,
[Sno] left
16:21
pmurias left,
[Sno] joined
16:25
spider-mario joined
16:29
mohij joined,
rurban joined
|
|||
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: github.com/rakudo/rakudo/tree/proc-async-ready | 16:34 | |
cschwenz | (sorry for being very much off topic) Anyone here currently at YAPC::Eu? | 16:35 | |
hoelzro | o/ cschwenz | 16:37 | |
cschwenz | \o hoelzro :-) | ||
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 | |
16:39
cschwenz1 joined
|
|||
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:40 | |
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 | ||
16:41
domidumont left
|
|||
hoelzro | re: the red herring - that's a fair point; it's kind of an anti-pattern | 16:41 | |
(unless you need to consume both stdout and stderr) | |||
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 | ||
I would prefer to use start, tbh | |||
moritz | well, it might be an anti-pattern, but not pervasible enough to require rename to a worse name | ||
*pervasive | |||
oh, I'm pretty sure modern Proc can consume both stdout and stderr | 16:43 | ||
16:43
cschwenz left
|
|||
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? | ||
hoelzro | can one do something like select() with the two handles? | ||
dalek | kudo/nom: d8ef5ea | coke++ | docs/announce/2015.08.md: remove ref to tarball in non-release japhb++ |
||
[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 | ||
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 | |
hmm | |||
16:46
rurban left
|
|||
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 | ||
? | |||
hoelzro | japhb: it seems not | 16:48 | |
that would be a simple fix, though | |||
japhb | Also, is the TapBeforeSpawn check in !supply a race with the 'ready' callback? | 16:49 | |
16:49
tping joined,
cschwenz1 left
|
|||
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? | ||
er, nvm | |||
japhb | New lines 73 and 187 | 16:51 | |
16:51
rurban joined,
rurban left
|
|||
japhb | muraiki: .hyper if order of operations is not important, .race if order of operations *and* order of output is not important. | 16:51 | |
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
larion left
|
|||
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» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/7ZfI5AXCl6:1» | ||
japhb | It seems like an interesting GLR side effect is finding places we do unnecessary extra work | 16:53 | |
16:54
diana_olhovik joined
16:57
larion joined
17:10
pat_js left
17:15
FROGGS joined
|
|||
RabidGravy | is the "react { whenever ... } " thing fairly settled now? | 17:20 | |
17:24
_itz joined
17:26
_itz_ left
17:30
diakopter joined
|
|||
pierrot | good afternoon. how can I verify if a string belongs to the language generated by a Perl6 grammar? | 17:31 | |
RabidGravy | just feed it to .parse() or do you mean something else? | 17:32 | |
17:36
vendethiel joined
|
|||
RabidGravy | e.g. | 17:38 | |
m: grammar Foo { token TOP { "foo" } }; say so Foo.parse("foo"); say so Foo.parse("bar") | |||
camelia | rakudo-moar d8ef5e: OUTPUT«TrueFalse» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«TrueFalse» | ||
pierrot | I was just looking at this article 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 | |
sorry, I was writing the message while you were writing yours with the example | |||
:P | |||
RabidGravy | it's really that simple | 17:41 | |
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:42 | ||
17:43
domidumont joined
|
|||
pierrot | grammar example { rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }; then example.parse("aabbcc") would return true, right? | 17:46 | |
ugexe | you need a TOP | 17:47 | |
pierrot | what means a "TOP". the initial rule? | 17:49 | |
RabidGravy | so in your case rule S should be rule TOP | 17:51 | |
it is the "entry point" of the grammar | |||
you can supply another rule to the parse method though | |||
e,g: | 17:52 | ||
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/0akGSVL1HeMissing blockat /tmp/0akGSVL1He:1------> 3 so example.parse("aabbcc",rule => 'S');7⏏5<EOL>» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BDouYmVROYMissing blockat /tmp/BDouYmVROY:1------> 3 so example.parse("aabbcc",rule => 'S');7⏏5<EOL>» | ||
RabidGravy | m: grammar example { rule S { (a+) (b+) (c+) <{$0.elems == $1.elems == $2.elems}> }}; say so example.parse("aabbcc",rule => 'S'); | ||
camelia | rakudo-moar d8ef5e: OUTPUT«False» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«False» | ||
RabidGravy | well apart from the rule not working but hey | 17:55 | |
17:56
Calibellus joined
|
|||
rangerprice | Perl is building using yacc ? ANTLR ? ... | 17:57 | |
[Coke] | Perl 6 Grammers. | 17:58 | |
bah. Grammars. | |||
back in the US for 2 days and I already can't spell! | |||
vendethiel | .oO( grammer nazi! wait, no.. ) |
||
muraiki | m.c. grammer | ||
[Coke] | rangerprice: github.com/rakudo/rakudo/blob/nom/...rammar.nqp | 18:00 | |
rangerprice | oh ok thank | ||
dalek | c: 3c2ce32 | paultcochrane++ | lib/Type/Temporal.pod: Add docs for sleep and friends |
18:03 | |
colomon | muraiki: “U can’t parse this!” | 18:04 | |
muraiki | colomon++ | 18:05 | |
pyrimidine | .oO ( Kelsey Grammer ) | ||
18:06
xiaomiao joined
18:07
lea left
18:08
dha joined
|
|||
dha | Good approrpriate-time-of-day-for-your-time-zone! | 18:10 | |
[Coke] | m: “U can’t parse this!”; # yes I can. | ||
camelia | rakudo-moar d8ef5e: OUTPUT«WARNINGS:Useless use of constant string "U can’t parse this!" in sink context (line 1)» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«WARNINGS:Useless use of constant string "U can’t parse this!" in sink context (line 1)» | ||
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:11 | |
japhb | .ask nine Given the machine-native guts of 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. | ||
[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:14 | |
dha | Ok. The reason I ask is I'm considering doing something wide-ranging and possibly not worth doing. :-) | 18:16 | |
18:17
lucasb joined
|
|||
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 | |
Is that a good idea, an ok idea, or just stupid? | |||
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. | ||
And what are *your* credentials for 10 second evaluations? ;-) | 18:20 | ||
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 | |
er, there should be another ? in there | |||
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:24 | |
dha | RabidGravy - do you have any idea how many things are not yet documented? :-) | 18:25 | |
I'm figuring this way you can just grep the damn things and get a count. | |||
PerlJam | RabidGravy: once annotated, the docs could be grepped to generate the issue. | ||
18:25
lea joined
|
|||
RabidGravy | PerlJam, this is also true and a good plan :) | 18:25 | |
sufrostico | hi | 18:26 | |
pierrot | RabidGravy: sorry, I was away. Why didn't it work? | ||
18:26
SamuraiJack left
|
|||
PerlJam | sufrostico: greetings | 18:26 | |
sufrostico | anyone with problems to install perl6 on a raspberry pi 2 ? | ||
I'm using rakudobrew | |||
RabidGravy | no, it works fine for me | ||
dha | ok, then. I'm going to start shoving comments into the docs. wheee. | ||
sufrostico | rakudobrew build moar works fine... but when traying to run | 18:27 | |
rakudobrew build-panda | |||
it says that it can't find the perl6 command | |||
18:27
pmurias joined
|
|||
RabidGravy | dha, no clear idea. I keep noticing un-documented things all the time | 18:27 | |
PerlJam | RabidGravy: now you add TODOs for them when you spot them ;) | 18:28 | |
dha | RabidGravy - Hence my plan. Thank you. :-) | ||
RabidGravy | PerlJam, or just add the documentation ;-p | ||
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 :) | ||
RabidGravy | sufrostico, add the location of the perl6 to PATH | 18:30 | |
e.g. ~/.rakudobrew/bin/perl6 | |||
sufrostico | RabidGravy, yep... and it works... | ||
I can call perl6 from the command line | |||
18:35
blackcat_ left
|
|||
[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 | |
dha: there's already a WANTED section... | |||
[ptc]: any comments for dha on his docplan? | 18:36 | ||
FROGGS | $ perl6 -e 'use Data::Dumper:from<Perl5>; say Dumper [1, 2]' | 18:37 | |
[$VAR1 = 1; | |||
$VAR2 = 2; | |||
] | |||
PerlJam | [Coke]: I agree, but ... S01:37 naturally raises the question of "what's official?" | ||
FROGGS | it is odd to use Perl 5 modules just like that :D | ||
nine++ | 18:38 | ||
18:38
synbot6 joined
|
|||
PerlJam | S01:37 | 18:38 | |
synbot6 | Link: design.perl6.org/S01.html#line_37 | ||
PerlJam | stupid bot. Why do you keep dying? | ||
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 | |
For instance, none of the 13 methods in Baggy are documented. | |||
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 | ||
dha | If anything that's undocumented has some kind of flag, we can get actual data and munge it as needed. | ||
RabidGravy - yes, but do you know how much work is needed to document a given undocumented class? | 18:41 | ||
(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? | ||
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 | ||
encouragement to fill in the void. | |||
PerlJam | indeed | ||
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. | ||
FROGGS | dalek is so silent :S | 18:46 | |
PerlJam | +1 from me too FWIW | ||
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" | ||
pink_mist | +1 | ||
RabidGravy | a spot of grep, a spot of sed ypu could do most of the missing classes | ||
dha | I'm thinking of adding that wherever something has a heading, but no information. | ||
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" | ||
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 | ||
yoleaux | FROGGS: I'll pass your message to lizmat. | ||
dha | I'm probably going to try to whip something up that'll find things like "=head2 Some Stuff Here\n\n=head2" | 18:50 | |
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. | ||
The thing is, if the classes aren't already in the docs, I probably don't know about them. :-) | 18:52 | ||
18:52
whiskey-drinking joined
|
|||
dalek | kudo/cu_load: 269107e | FROGGS++ | src/core/CompUnit.pm: silence warning when loading modules |
18:52 | |
kudo/cu_load: ba2ade8 | FROGGS++ | src/ (2 files): hook I::P5's ModuleLoader to CUR, not P6::ML |
|||
kudo/cu_load: c3a8c25 | FROGGS++ | src/core/CompUnitRepo.pm: make CU's file path absolute |
|||
FROGGS | ohh, better late than Ni | ||
dha | So... I would, at this point at least, just be adding TODO comments to existing empty headings. | ||
FROGGS | +1 | 18:53 | |
18:55
pmurias left
|
|||
PerlJam | my ack of src/core shows 405-ish classes, most of which are X:: classes | 18:55 | |
170 non X:: classes | 18:56 | ||
whiskey-drinking | in expression @arr[*-1] what is the star? Whatever object? | 18:57 | |
PerlJam | whiskey-drinking: aye, that's a Whatever | ||
RabidGravy | m: say *.WHAT | 18:58 | |
camelia | rakudo-moar d8ef5e: OUTPUT«(Whatever)» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(Whatever)» | ||
[Coke] | m: say (*-1).WHAT | 18:59 | |
camelia | rakudo-moar d8ef5e: OUTPUT«(WhateverCode)» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(WhateverCode)» | ||
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? | ||
PerlJam | gist.github.com/perlpilot/12688b954a70fa28f525 for anyone interested in how I used ack or what the list of classes are | 19:01 | |
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 ;-) | ||
sufrostico | OK, working know... for some reason the perl of the raspi is not getting right the PATH | ||
japhb | [Coke]: We're at zero failing spectests and sanity tests when rakudo/glr is paired with roast/glr, yes? | ||
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 | ||
RabidGravy | one failing sanity test | ||
japhb | RabidGravy: which one? | ||
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 | ||
colomon started a moar-glr module smoke test run a few minutes ago... | |||
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 | ||
sufrostico | japhd yep | 19:05 | |
echo $PATH shows the right paths | |||
japhb | PerlJam: Don't we also need to document (at least) the role and grammar decls as well? | ||
PerlJam | japhb: Good point. | ||
japhb | sufrostico: that's odd then | 19:06 | |
RabidGravy: Sounds relatively minor, but clearly *someone* will notice, since it came from an RT | 19:07 | ||
[Coke]: Yeah, I'm in favor of merging now/today. | |||
19:07
rurban joined
|
|||
japhb | Who's got the patch pumpkin on C++ nativecall? | 19:07 | |
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? | ||
PerlJam | japhb: gist updated | ||
japhb | RabidGravy: Are you the one that created the RT? :-) | ||
RabidGravy | yes | ||
sufrostico | japhb, ok.. working know ... I'm a horse... the PATH does not support the ~ symbol | ||
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. :-) | ||
RabidGravy | I've actually stopped working on audio stuff as not being able to deal with native flooats is somewhat of a showstopper | ||
japhb | RabidGravy: Oh, is it just failing in general, not nom- or glr-specific? | 19:10 | |
RabidGravy | both | ||
lucasb | m: my @a = <a b c>; say @a[ -> *@b { 1 } ] | ||
camelia | rakudo-moar d8ef5e: OUTPUT«b» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(timeout)» | ||
japhb | RabidGravy: OK, so it may be a horrible pain, but it doesn't affect the glr merge. | ||
RabidGravy | no, not at all | 19:11 | |
japhb | hoelzro, FROGGS: Is one of you the pumpkin holder for C++ nativecall? | 19:12 | |
RabidGravy | sufrostico, what shell? | 19:14 | |
I just shove that exact path in the .bashrc and it's all good | |||
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++ | ||
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:19 | |
19:19
cognominal left
|
|||
FROGGS | japhb: I probably did the most in that area... | 19:20 | |
skids | Hrm what are the rules for Inf-arity WhateverCode elsewhere... | ||
FROGGS | I should continue on this soonish :S | 19:21 | |
dalek | c: b7fb7c9 | (David H. Adler)++ | lib/Type/Baggy.pod: Added TODO comments to lib/Type/Baggy.pod |
||
lucasb | skids++, yeah, I really don't know what it should do. I was just showing a corner case... | ||
m: say |(42 xx *) | |||
camelia | rakudo-moar d8ef5e: OUTPUT«» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(timeout)» | 19:22 | |
lucasb | I wonder why camelia ends up with an empty output | ||
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:23 | |
Only taking WhateverCode would make it difficult to construct an Inf-arity one. | 19:24 | ||
19:26
diana_olhovik left,
domidumont left
|
|||
[Coke] | dha: maybe also add a note to WANTED about the plan for TODO comments. | 19:26 | |
dha | [Coke] - will do, thanks. | 19:27 | |
[Coke] | dha++ | ||
RabidGravy | speaking of docs, are $*SPEC and the IO::SPec::* sub-classses staying for the foreseeable? | 19:29 | |
dalek | c: 37f6c07 | (David H. Adler)++ | WANTED: Added TODO plan to WANTED |
19:30 | |
RabidGravy | I actually started them then someone hinted they might not be staying | ||
19:31
diana_olhovik joined
|
|||
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:31 | |
vendethiel | japhb: IIRC, windows stuff | 19:32 | |
19:33
emilbarton joined
19:34
Possum left,
darutoko left,
Celelibi left,
Sgeo_ left,
gfldex left,
GLRelia left,
plicease left,
MilkmanDan left,
cibs left
|
|||
japhb | vendethiel: If it is *only* Windows stuff that blocks it, that is not IMHO sufficient reason to keep it out. | 19:34 | |
19:34
MilkmanDan joined
|
|||
vendethiel | japhb: i'm not 100% sure. (btw, remember our lead dev is windows :P) | 19:34 | |
19:35
Possum joined,
darutoko joined,
Celelibi joined,
Sgeo_ joined,
gfldex joined,
GLRelia joined,
plicease joined,
Guest63243 joined
|
|||
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));) | ||
japhb | vendethiel: Yes, but he's not doing C++ Nativecall work. | ||
19:35
dustinm` joined
|
|||
japhb | Unless you meant that C++ nativecall *breaks the build* on Windows .... | 19:35 | |
19:35
cibs joined
19:36
CIAvash left
|
|||
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:38 | |
emilbarton | maybe you moritz could explain, as you wrote this piece of code | 19:40 | |
moritz | emilbarton: sounds like a bug; not much to explain | 19:41 | |
emilbarton | should I add an attribute to new? | 19:42 | |
moritz in fact I don't know about the $!buffer syntax | 19:43 | ||
or better a 'has' | 19:44 | ||
19:44
laben joined
|
|||
laben | hello #perl6, how are you all doing? | 19:45 | |
tadzik | sweaty | ||
weather awful | |||
dha | ok, I guess. | ||
moritz | emilbarton: sorry, I have no brain capacity left today; feel free to ask me again tomorrow | ||
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;' | ||
do you have a recent rakudo? | |||
emilbarton | yes | ||
laben | m: for 1 { LAST { say "last!" }; next; } | ||
camelia | rakudo-moar d8ef5e: OUTPUT«last!» | ||
GLRelia | ( no output ) | ||
lucasb | I think $!buffer is a jvm thing, isn't it? | 19:47 | |
emilbarton | yes | ||
lucasb | emilbarton: are you on jvm? | ||
oh, ok | |||
emilbarton | no | ||
muraiki | ah, I'm using moarvm | ||
laben | ok, let's check what happened wrt ecosystem | ||
19:47
Possum left,
darutoko left,
Celelibi left,
Sgeo_ left,
gfldex left,
GLRelia left,
plicease left,
Guest63243 left
|
|||
emilbarton | bur muraiki, lucasb, the error occurs when my $conn = $Listen.accept; | 19:48 | |
muraiki | emilbarton: I can do that also without a problem | 19:49 | |
what does perl6 --version show? | |||
dha | Is there any reason C<for> and C<gather>/C<take> are commented out in control.pod? | ||
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 | ||
let me build and we'll see | |||
FROGGS | japhb: I can potentially merge it after I checked that it works on linux, windows and mac... | 19:51 | |
japhb: though, the problem is I've got no mac :/ | |||
jdv79 | dha: you're not coming to ::EU? | 19:52 | |
19:52
Possum joined,
darutoko joined,
Celelibi joined,
Sgeo_ joined,
gfldex joined,
GLRelia joined,
plicease joined,
Guest63243 joined,
raiph joined
|
|||
dha | jdv79 - sadly, no. Couldn't get it together in time. | 19:52 | |
Going to try for LPW, though. | |||
jdv79 | is that soon? | 19:53 | |
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 | ||
idk | |||
dha | Dec 12 for LPW | 19:55 | |
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:56 | ||
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. | ||
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:58 | |
dha | jdv79 - so noted. :-) | 19:59 | |
japhb | That said, we should merge such branches *long* before the next release. :-) | ||
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> | ||
" | |||
would be better than nothing | |||
dha | This is probably me being slow, but, what does "diff it to its doc at the routine level" actually mean? | 20:00 | |
20:01
diana_olhovik left
|
|||
muraiki | emilbarton: I was able to get the IO::Socket::INET example at 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 | |
emilbarton: that's what rakudobrew gave me, so I'm not sure about perl 2015.07.2 | |||
which is what you have | |||
20:03
whiskey-drinking left
|
|||
emilbarton | ok now I think that I'm using Socket::INET from an earlier perl version | 20:03 | |
I just copied it to my newer perl | |||
20:04
espadrine_ left,
kjs_ joined
|
|||
jdv79 | i just meant loock for undoc'd routines | 20:04 | |
*look | |||
the hotel wifi is a bit laggy ^H | |||
dha | ah. ok. | 20:05 | |
jdv79 | or maybe try to do something relatively simple with p6 using only the docs ^H | ||
(no source diving ^H) | |||
report the issues and if you can fix ghem ^H | |||
i'm just making stuff up at this point but ... can't be that hard) | 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 | ||
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. | ||
jdv79 - indeed. I've certainly been winging it this whole time. :-) | |||
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 | ||
jdv79 | i get the feeling moritz might feel teh same way and he's the docs guy | ||
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. | ||
muraiki | emilbarton: maybe just do a `rakudobrew build moar` and hope for the best :) | 20:09 | |
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 | ||
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 | c: 802a261 | (David H. Adler)++ | lib/Language/control.pod: Took entries that were commented out in lib/Language/control.pod and |
||
jdv79 | dha are with/without doc'ed nearby? | ||
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 | ||
jdv79 | oh, nm | ||
emilbarton | are these versions on github? | ||
jdv79 | misfire | ||
muraiki | until rakudo hits 1.0 I would recommend not using distribution-provided versions of rakudo | ||
RabidGravy | the fedora rakudo is quite uo to date for a packaged version | ||
dha | jdv79 - those do not seem to appear in control.pod | 20:12 | |
emilbarton | muraiki can you give me the address of a repo? | ||
muraiki | emilbarton: a repo for what? rakudobrew? | ||
emilbarton: I'd remove the fedora package and then use github.com/tadzik/rakudobrew | |||
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 | ||
muraiki | once you install rakudobrew you'll want to `rakudobrew build moar` | ||
jdv79 | i meant misfire about eh nearby part ^H | ||
20:13
telex left
|
|||
emilbarton | thanks muraiki | 20:13 | |
lucasb | skids++, cool, thanks | ||
muraiki | because yeah you probably have somthing crazy going on with different library versions and perl versions | ||
dha | Well, since they're not there at all, I guess they're not nearby... :-) | ||
jdv79 | they should be doc'ed in that file somwehre | ||
timotimo | o/ | ||
20:14
emilbarton left
|
|||
timotimo | once rakudobrew is done, you want ... oh | 20:14 | |
20:14
telex joined
|
|||
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? | ||
jdv79 | i take mine wix without | 20:15 | |
*wiz | |||
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 :) | ||
timotimo | wizout? | ||
jdv79 | i didn't check explicitly but randomly its been said alot ^H | ||
there are lots of holes like that ^H | |||
LHF as they say. as long as you are comfortable writing coherent docs that is | 20:16 | ||
timotimo: i'll try that next time i'm at Pat's | |||
pretty sure the guy will just yell "what" back at me ^H | |||
dha | that would be wit'out. :-) | 20:17 | |
unless you mean without wiz. | |||
cheesesteaks are complicated. | 20:18 | ||
[Coke] | 1029 RTs left. | ||
dalek | c: d3d7bbf | (David H. Adler)++ | lib/Language/control.pod: Added with/without to control.pod as per jdv79's suggestion |
||
jdv79 | no doubt about that ^H | ||
[Coke] | Goal: get us under 1K tickets for the september release. | ||
20:18
brrt joined,
darutoko left
20:19
nightfrog left,
laben left
|
|||
sufrostico | RapidGravy, the shell its bash | 20:19 | |
20:19
kjs_ left
20:20
xiaomiao left
20:21
nightfrog joined
|
|||
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 | |
20:22
xiaomiao joined,
brrt left
|
|||
dalek | c: 55471e9 | RabidGravy++ | lib/Type/IO/Spec.pod: Start IO::Spec docs |
20:23 | |
c: c2538a8 | RabidGravy++ | lib/Type/IO/Spec.pod: Add method prototypes Added TODO comments to TBD entries in nativecall.pod |
|||
20:23
dalek left
|
|||
pink_mist | I'd say they should | 20:23 | |
RabidGravy | oops sorry | ||
dha | pink_mist - Yeah, I thought so too. Certainly it can't hurt. | ||
20:24
dalek joined
|
|||
RabidGravy | dha, all with =comment TODO | 20:24 | |
20:24
ChanServ sets mode: +v dalek
|
|||
dha | *nod* so mote it be. | 20:24 | |
20:24
MilkmanDan left
20:26
MilkmanDan joined
|
|||
RabidGravy | dha, those things in natvecall may not be completely implemented yet | 20:26 | |
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. | ||
I tried: | |||
m: grammar example { rule S { a<S>?b } }; say so example.parse("ab", rule => 'S'); | |||
camelia | rakudo-moar d8ef5e: OUTPUT«True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«True» | ||
pierrot | and returns true | ||
but | 20:28 | ||
m: grammar example { rule S { a<S>?b } }; say so example.parse("aabb", rule => 'S'); | |||
camelia | rakudo-moar d8ef5e: OUTPUT«False» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«False» | ||
20:28
xfix left
|
|||
pierrot | returns false | 20:28 | |
what's wrong? | |||
timotimo | m: grammar example { regex S { a<S>?b } }; say so example.parse("aabb", rule => 'S'); | 20:29 | |
camelia | rakudo-moar d8ef5e: OUTPUT«True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«True» | ||
timotimo | something about the semantics of rule is causing that to not work | ||
c: 4ad2498 | (David H. Adler)++ | lib/Type/IO/Spec (5 files): Merge branch 'master' of github.com/perl6/doc |
|||
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» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«False» | ||
timotimo | sigspace somehow b0rks it for you, but it shouldn't, eh? | ||
i mean, spaces are always optional in sigspace and there are no spaces to be found anywhere | |||
RabidGravy | I noticed that before and just thought I hadn't read the docs properly ;-) | 20:32 | |
YuviPanda | hello! | ||
pierrot | so is it a bug? | ||
YuviPanda | I wrote a perl6 module! github.com/yuvipanda/perl6-Ident-Client | ||
the docs tell me to ask here to get it added to the ecosystem :) | |||
RabidGravy | YuviPanda, make a pull request to 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 | ||
RabidGravy | i.e add raw.githubusercontent.com/yuvipand.../META.info to it | 20:35 | |
YuviPanda | done! github.com/perl6/ecosystem/pull/55 | ||
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. | ||
lucasb | idk if I understand correctly, but the spaces right after and before "{" and "}" are significant? | ||
m: grammar G { rule TOP {a<TOP>?b} }; say so G.parse("aabb") | |||
camelia | rakudo-moar d8ef5e: OUTPUT«True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«True» | ||
dalek | osystem: 635680b | (Yuvi Panda)++ | META.list: Add Ident::Client Simple Ident protocol client |
||
osystem: 1e4f697 | RabidGravy++ | META.list: Merge pull request #55 from yuvipanda/patch-1 Add Ident::Client |
|||
YuviPanda | PerlJam: whoops, fixing | 20:36 | |
PerlJam: has no dependencies, and I guess provides is just Ident::Client | |||
20:36
yqt joined
|
|||
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 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«True» | ||
pierrot | yoleaux: I had tried that, but with rule instead of token | 20:37 | |
and also I had substituted "elems" for "chars" | |||
RabidGravy | YuviPanda, "provides" : { "Ident::Client" : "lib/Ident/Client.pm" } | ||
YuviPanda | yep just updated | 20:38 | |
RabidGravy | or similar | ||
YuviPanda | github.com/yuvipanda/perl6-Ident-C.../META.info | ||
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 | ||
YuviPanda | RabidGravy: thanks for merging! | ||
PerlJam: thanks for spotting the META.info messup | |||
so when does modules.perl6.org/ get updated? :) | 20:40 | ||
PerlJam | pierrot: doc.perl6.org/language/grammars | ||
pierrot: not comprehensive if that's what you meant by "good" :) | |||
YuviPanda: I think it's updated every 15 minutes or so | |||
YuviPanda | \o/ cool | ||
RabidGravy | YuviPanda, I would suggesr also adding "source-url": "github.com/yuvipanda/perl6-Ident-Client" at the top level as I'm not sure how compliant some things are | 20:41 | |
(though this may be remedied now) | |||
YuviPanda | RabidGravy: hmm, panda gen-meta gave me the current location of source-url | ||
raiph | pierrot: `token` declarator means 1) ignore spaces in regex and 2) no backtracking | ||
YuviPanda | or at least, source | ||
RabidGravy: but I can add the source-url as a toplevel, sure | |||
pierrot | raiph: thanks | 20:42 | |
raiph | pierrot: `regex` declarator means 1) ignore spaces in regex and 2) backtrack to try match | ||
RabidGravy | at one stage it generated that but the thing that generated the packages.json didn't use it or something | ||
raiph | pierrot: { ... } in rule (`rule`/`token`/`regex`) is an assertion whereas <{...}> inserts result of {...} as a subrule | 20:44 | |
YuviPanda | right | ||
I've updated it now | |||
20:44
rurban left
|
|||
pierrot | raiph: awesome. Now I'm understanding. | 20:44 | |
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 | ||
pierrot | PerlJam: that documentation is missing a lot of information :/ | ||
20:46
colomon left
|
|||
TimToady | .tell ChoHag irclog.perlgeek.de/perl6/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. | ||
raiph | pierrot: and I did s/.elems/.chars/ because otherwise you were doing 0 == 0 == 0 | 20:47 | |
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. | ||
raiph | m: grammar example { token TOP { (a+) (b+) (c+) {say $0.elems} }}; example.parse("aabbcc"); # for pierrot | ||
camelia | rakudo-moar d8ef5e: OUTPUT«0» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«0» | ||
mohij | waaa google looks different! | ||
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:49 | |
(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 | ||
PerlJam | pierrot: there's this thing I wrote about grammars several years ago: github.com/perlpilot/perl6-docs/bl...-intro.pod (there's always going to be lots of information missing I'm afraid) | 20:51 | |
dha | Oh god. There are Bag operators... | ||
Ok, those are associated with a class, and not effectively builtins. whew. | 20:52 | ||
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 | |
m: say "aa".elems | |||
camelia | rakudo-moar d8ef5e: OUTPUT«1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«1» | ||
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 | ||
pierrot | ohhh right | 20:55 | |
raiph | whereas 'aa' when treated as a list acts as a 1 element list | 20:56 | |
pierrot | Yep, I caught it. | ||
Thanks | |||
raiph | pierrot: yw. :) I have to run now, will backlog later for any other Qs you have | 20:57 | |
pierrot | Thanks raiph :D | 20:58 | |
dalek | c: 89d3f16 | (David H. Adler)++ | lib/Language/subscripts.pod: Added TODO comment to Modifying Elements entry in subscripts.pod |
||
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:00
skids left
|
|||
[Coke] | dha: sorry, IDK. | 21:01 | |
dha | Ok. | ||
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 | c: 1f5b4de | (David H. Adler)++ | lib/Language/syntax.pod: Changed commented out entries at the end of syntax.pod to commented |
||
PerlJam | s/and/an/ | ||
dha | ah. ok. that makes sense | ||
PerlJam++ | |||
21:03
dwarring joined
|
|||
lucasb | m: say 2 [+] 3 | 21:03 | |
camelia | rakudo-moar d8ef5e: OUTPUT«5» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«5» | ||
dha | ok, that's weird. | 21:04 | |
21:04
kjs_ joined
|
|||
dha | m: say [-] 3 | 21:04 | |
camelia | rakudo-moar d8ef5e: OUTPUT«3» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«3» | ||
dha | ok, that may be even weirder. | ||
m: say 2 [-] 3 | 21:05 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«-1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«-1» | ||
TimToady | a reduction op with 1 arg always just returns that arg | ||
and that one is not a reduction | |||
m: say 2 [[[[[-]]]]] 3 | |||
camelia | rakudo-moar d8ef5e: OUTPUT«-1» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«-1» | ||
dha | Huh. | ||
TimToady | you can just put as many [] there to disambiguate as you like | ||
it's mostly for disambiguating with metaops | |||
m: say 1,2,3 Z[+] 4,5,6 | 21:06 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«5 7 9» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(5 7 9)» | ||
dha tentatively nods. | |||
21:07
kjs_ left
|
|||
TimToady | it's only in prefix position that [] is interpreted as reduction | 21:07 | |
and you can put extra [] there too | |||
m: say [[[*]]] 2..10 | 21:08 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«3628800» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«3628800» | ||
dalek | ast/glr: e6fa419 | (David Warring [email@hidden.address] | integration/advent2012-day22.t: [advent2012-day22.t] GLRify 'IP address parse' example. unfudge RT121789 |
||
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 | ||
PerlJam suddenly feels like an unstated thing should be stated. | |||
(Don't use extra [] unless *really* necessary :) | |||
dha | ...or if we're starting up an Obfuscated Perl 6 Contest. | 21:10 | |
PerlJam | exactly | ||
dha | We need to get Jon Orwant to publish a Perl 6 Journal. This is, after all, his fault. :-) | 21:11 | |
PerlJam | heh | ||
TimToady | m: say 1,2,3 Z![==] 3,2,1 | 21:12 | |
camelia | rakudo-moar d8ef5e: OUTPUT«True False True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(True False True)» | ||
TimToady | m: say 1,2,3 Z!== 3,2,1 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«True False True» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«(True False True)» | ||
21:13
rangerprice left
|
|||
timotimo | oh hey TimToady :) | 21:14 | |
21:15
muraiki left
|
|||
[Coke] waves to TimToady | 21:16 | ||
TimToady feels like he's suddenly the center of attention... | 21:17 | ||
dha | You should be used to that by now. :-) | 21:18 | |
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:19 | ||
21:20
pochi left,
colomon joined
|
|||
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" | ||
ok. Will add. | |||
[Coke] | RT: 1,028 | ||
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 | ||
[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. | |||
TimToady | and we didn't have the brackets before, which resulted in confusion post-GLR | ||
so just think of them as s-exprs | 21:23 | ||
lucasb | s-exprs, funny :) So basically, .Str, .gist and .perl give 3 different formats :) | ||
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> | ||
camelia | rakudo-moar d8ef5e: OUTPUT«1 a 2 b 3 c» | ||
PerlJam | lucasb: it would be kind of strange for them to all have the _same_ format! | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«((1 a) (2 b) (3 c))» | ||
TimToady | ^^ there's where it's really important to see the structure | 21:25 | |
21:28
masak joined
|
|||
masak | good evening, #perl6 | 21:28 | |
[ptc] | o/ # perl6 | ||
masak | :) | ||
dalek | c: ee39d98 | (David H. Adler)++ | lib/Language/operators.pod: Added entry on Reduction operators to operators.pod |
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. | ||
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" | ||
that sounds like you can put multiple reductions "in a row" and they'll somehow associate | 21:31 | ||
does that document explain what "listop" precedence means? | |||
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=" | ||
masak | right, or what dha said. | ||
dha | S03 says "If the reduction operator is defined separately from the infix operator, it must associate the same way as the operator used" | ||
timotimo | mhm | 21:34 | |
dha | with the examples I used. Hence my comment about asssociativty | ||
Is that ill-advised? | |||
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 :) | ||
so reduction operators are not always left fold, right? | |||
dha | Well, apparently, they respect their base operators. :-) | ||
Or at least they are spec'd to do so. I have not tested. | 21:36 | ||
colomon | they evaulation their reduction according to their base operator’s precedance. | 21:37 | |
that doesn’t affect the reduction meta-operator’s precedence, which I believe is List Prefix. | 21:38 | ||
so [**] A, B, C is the same as A ** B ** C — and that’s true for every infix operator, not just ** | |||
masak | m: say 2 ** 3 ** 4; say [**] 2, 3, 4 | 21:39 | |
camelia | rakudo-moar d8ef5e: OUTPUT«24178516392292583494123522417851639229258349412352» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«24178516392292583494123522417851639229258349412352» | ||
masak | m: say (2 ** 3) ** 4 | ||
camelia | rakudo-moar d8ef5e: OUTPUT«4096» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«4096» | ||
colomon | lovely example, masak | ||
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/jwWWx9Gw0sCannot reduce with = because list assignment operators are too fiddlyat /tmp/jwWWx9Gw0s:1------> 3my ($a, $b, $c); [=]7⏏5 $a, $b, $c, 5; say join ", ", $a, $b, $» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FRztz0MklKCannot reduce with = because list assignment operators are too fiddlyat /tmp/FRztz0MklK:1------> 3my ($a, $b, $c); [=]7⏏5 $a, $b, $c, 5; say join ", ", $a, $b, $» | ||
masak | ah. too fiddly. | ||
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» | ||
GLRelia | rakudo-moar 57b7eb: OUTPUT«$a = 1$b = 2$a = 2$b = 3$a = 6$b = 4$a = 24$b = 5» | ||
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:44
kaare_ left
|
|||
masak | right. | 21:45 | |
completely unrelated: anyone know if the tap water is drinkable in Granada? | |||
dha | Nope. :-) | ||
21:45
kjs_ joined
|
|||
masak | dang. | 21:45 | |
dha | Nope, I don't know, not Nope it isn't. | 21:46 | |
:-) | |||
masak | ah. | ||
I'm thirsty, and buying a pineapple juice at the cafeteria downstairs didn't help. | |||
pink_mist | I am 85% sure it isn't | ||
masak hunts around for a water boiler in his room | |||
room has a bidet, but no water boiler. priorities fail. | 21:47 | ||
TimToady | masak: we've been drinking it with no ill effect | ||
masak | ok, then I will too | ||
if the worst comes to worst, we can stomach bug together :P | 21:48 | ||
timotimo | noooo don't stomach-bug | ||
i remember the last time i got that >_< | |||
masak | the tap water smells chlorinated -- which I'll take as someone having made an effort to make it drinkable | 21:49 | |
glug glug glug | |||
TimToady | if you put it into a bathtub it comes out blue, so maybe it's chloramines | ||
masak | dammit TimToady | 21:50 | |
I went to try, and nearly drenched myself | |||
anyway, now I know how the shower works | |||
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 | ||
they've raised their game considerably since then | |||
dalek | kudo-star-daily: 43c8fba | coke++ | log/ (9 files): today (automated commit) |
21:56 | |
masak | TimToady: hotel granada center | ||
TimToady | well, we don't have water boilers either at Abba | 21:58 | |
(nor do we have a bidet, fwiw) | |||
21:59
frobisher joined
22:00
dha left,
colomon left
|
|||
TimToady | ow wow, I caught up on my backlog, and it's midnight, how convenient | 22:00 | |
night all & | |||
22:01
frobisher is now known as dha
|
|||
japhb | o/ | 22:04 | |
22:04
zakharyas joined
22:06
kjs_ left
22:08
lucasb left
|
|||
masak | 'night, TimToady | 22:08 | |
22:08
TEttinger joined
22:10
Mhoram is now known as abaugher
22:15
hernanGOA left
22:18
colomon joined
22:22
skids joined
22:28
mohij left
22:30
brrt joined
|
|||
masak | someone in the RT queue really likes 9s. | 22:31 | |
22:32
zakharyas left
22:35
AlexDaniel left
|
|||
masak | 'night, #perl6 | 22:38 | |
RabidGravy | toodlepip | ||
22:38
brrt left,
skids left
22:39
brrt joined
22:40
rurban joined
22:41
mprelude left
|
|||
raiph | .tell pierrot irclog.perlgeek.de/perl6/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 irclog.perlgeek.de/perl6/2 | 22:46 | |
yoleaux | raiph: I'll pass your message to pierrot. | ||
raiph | 015-09-01#i_11155396)) | ||
22:46
brrt left
|
|||
pink_mist | that was an unfortunate linebreak | 22:48 | |
22:49
muraiki joined
22:54
rindolf left
22:57
rurban left
22:59
RabidGravy left
|
|||
[Coke] ships the skip notice on the august release. | 23:03 | ||
23:04
tokuhirom3 joined,
vendethiel left
|
|||
[Coke] | do we have a repo standard on whether we collapse merges or keep individual commits? | 23:05 | |
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:06
simcop2387 left
|
|||
b2gills | .oO( I think all merges should be 「git merge --no-ff --ff-only」, only squashing in very few circumstances ) |
23:08 | |
23:10
simcop2387 joined
23:11
spider-mario left
|
|||
[Coke] | tokuhirom3: your quotes don't match, but that doesn't seem like that's the error you'd get. | 23:12 | |
dwarring | tokuhirom3: mkpath is exported, but not 'our' scoped... | 23:14 | |
23:14
fling left
|
|||
dwarring | should work: use Shell::Command; mkpath("/tmp/x/y/z"); | 23:14 | |
23:20
tokuhirom3 left
|
|||
dwarring reference design.perl6.org/S06.html#Globally_...ubroutines | 23:22 | ||
23:30
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:55
aborazmeh left
23:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|