»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:08
xilo_ joined
|
|||
[Coke] | sorear: no, I'm in NYS. | 00:12 | |
sorear | new york state? | 00:13 | |
[Coke] | aye. | ||
00:14
fgomez left
|
|||
sorear waves from the far corner | 00:15 | ||
00:24
Gryllida left
00:39
jerome left
00:43
bowtie left
00:49
Chillance left
|
|||
[Coke] | "nobody puts sorear in the corner!" | 00:50 | |
00:52
jerome joined
00:54
fgomez joined
00:59
anuby joined
01:03
rindolf left
01:08
hypolin joined
01:11
atrodo left
01:20
raiph joined
01:22
araujo joined,
araujo left,
araujo joined
01:31
araujo left
01:35
colomon joined
|
|||
colomon | o/ | 01:36 | |
01:37
araujo joined,
araujo left,
araujo joined
01:47
LordVorp left
01:48
LordVorp joined
01:51
ifim left
|
|||
sorear | colomon: o/ | 01:56 | |
02:06
gootle joined
|
|||
colomon | sorear! | 02:09 | |
colomon was called away to convince a four-year-old to stay in his bed long enough to fall asleep. | 02:10 | ||
02:12
chee left
02:16
tokuhir__ left
02:17
tokuhiro_ joined
02:19
chee joined
02:39
jerome left
02:47
thou left
|
|||
[Coke] | Is there any way to get RT to NOT wrap code? | 02:51 | |
(inline) | |||
rakudo: my @a=<a a a>;my @b=<b b b>;for (@a »,« @b) »,« @a -> $a, $b, $c { say "$a $b $c" } | 02:52 | ||
p6eval | rakudo bf472b: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<,> are not of the same lengthleft: 6 elements, right: 3 elements in sub hyper at src/gen/CORE.setting:12486 in block at src/gen/CORE.setting:12465 in block at /tmp/GBnT_CV1IK:1» | ||
02:53
jerome joined
02:54
whiteknight left
|
|||
[Coke] | r: say slurp.comb(/e/).elems | 02:56 | |
p6eval | rakudo bf472b: OUTPUT«88» | ||
[Coke] | rakudo: print 1|2|3; | 02:57 | |
p6eval | rakudo bf472b: OUTPUT«This type cannot unbox to a native string in method print at src/gen/CORE.setting:7644 in sub print at src/gen/CORE.setting:7454 in block at /tmp/D6moFCSwqN:1» | ||
[Coke] | p6: say (-8) div 3 | 02:58 | |
p6eval | niecza v22-33-gda13155: OUTPUT«-3» | ||
..rakudo bf472b: OUTPUT«-2» | |||
02:58
fgomez left
03:00
fgomez joined
|
|||
[Coke] | r: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: 13 }; say somefoo.WHAT; | 03:01 | |
p6eval | rakudo bf472b: OUTPUT«Type check failed for return value; expected 'Foo' but got 'Int' in block at /tmp/0HmviE5viM:1» | ||
[Coke] | perl6: my @odd = 1,3,5 ... 8; say @odd[^4] | 03:02 | |
p6eval | rakudo bf472b, niecza v22-33-gda13155: OUTPUT«(timeout)» | ||
03:02
xinming left
|
|||
grondilu | r: class Foo is Int {}; sub somefoo returns Foo { self.bless: *, 13 }; say somefoo.WHAT; | 03:02 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!==='self' used where no object is availableat /tmp/18498C32Ur:1» | ||
[Coke] | perl6: my @odd = 1,3,5 ... *; say @odd[^4] | 03:03 | |
p6eval | rakudo bf472b: OUTPUT«1 3 5 7» | ||
..niecza v22-33-gda13155: OUTPUT«(timeout)» | |||
grondilu | r: class Foo is Int {}; sub somefoo returns Foo { Foo.bless: *, 13 }; say somefoo.WHAT; | ||
p6eval | rakudo bf472b: OUTPUT«Foo()» | ||
[Coke] | nieczabug there. | ||
03:03
popl joined
|
|||
[Coke] | (and both-bug the first time.) | 03:03 | |
grondilu: see RT #112850 | 03:04 | ||
r: for my $/ (); | |||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Redeclaration of symbol $/at /tmp/xEoQYkfkHM:1» | ||
03:05
grondilu_ joined
|
|||
[Coke] | my @a := 1..*; @a := @a[1, 3 ... *].list | 03:06 | |
03:06
grondilu_ left,
xinming joined
|
|||
[Coke] | r: print 'a'.WHAT; | 03:06 | |
p6eval | rakudo bf472b: OUTPUT«use of uninitialized variable $v of type Str in string context in block at /tmp/ifaRM5PyGQ:1» | ||
03:07
grondilu_ joined
03:08
grondilu left
03:09
grondilu_ is now known as grondilu,
grondilu left,
grondilu joined
|
|||
[Coke] | r: 1.++() | 03:11 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&postfix:<.>' called (line 1)» | ||
[Coke] | rakudo: say "\xFFFE" | 03:12 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
[Coke] | seen lue? | ||
aloha | lue was last seen in #perl6 1 days 4 hours ago saying "good knight, masak o/". | ||
lue | hello? | ||
[Coke] | phenny: ask lue to please followup on rt.perl.org/rt3/Ticket/Display.html?id=73784 | ||
phenny | [Coke]: I'll pass that on when lue is around. | ||
[Coke] | ^^ | ||
lue recalls not this bug, and investigates | 03:13 | ||
phenny | lue: 03:12Z <[Coke]> ask lue to please followup on rt.perl.org/rt3/Ticket/Display.html?id=73784 | ||
[Coke] | r: sub f($x) { return if $x == 1; state %h = a => 1; say %h.perl }; f 1; f 2; | 03:14 | |
p6eval | rakudo bf472b: OUTPUT«().hash» | ||
[Coke] | r: say (-10..10).min: { abs $^a <=> abs $^b } | ||
p6eval | rakudo bf472b: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method <anon> at src/gen/CORE.setting:1794 in block at /tmp/Tt9S3OEnSH:1» | ||
[Coke] | moritz, masak, or jnthn : need feedback on rt.perl.org/rt3/Ticket/Display.html?id=76648 | 03:15 | |
lue | according to fileformat.info, FDD0 and FFFE aren't valid unicode characters (so I don't know what I was trying), but FFFD is, which didn't error out in my bug filing. | 03:17 | |
[Coke] | rakudo: say "\xFFFD" | 03:18 | |
p6eval | rakudo bf472b: OUTPUT«�» | ||
[Coke] | so, closable with tests? | ||
lue | r: say "\x[FD,D0],\x[FF,FD],\x[FF,FE]" # I wonder if I meant this | ||
p6eval | rakudo bf472b: OUTPUT«ýÐ,ÿý,ÿþ» | ||
[Coke] | r: say "\x[FE,12,10]" | 03:19 | |
p6eval | rakudo bf472b: OUTPUT«þ» | ||
03:19
benabik joined
|
|||
lue | Lemme check irclog for some context, but otherwise I'm sure it was more likely a bug in my brain. | 03:19 | |
Ah. I was first trying .u FDD0 (again for no discernible reason), then skipped to the suspect code. | 03:21 | ||
r: say "\x[FDD0,FFFE]" # checking one more time | 03:22 | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Invalid character for UTF-8 encoding» | ||
[Coke] | r: say so Nan === NaN | 03:23 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix === insteadat /tmp/1TwjxqGvhF:1» | ||
[Coke] | r: say Nan === NaN | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix === insteadat /tmp/LZ_pNCNQX6:1» | ||
[Coke] | r: say NaN === NaN | ||
p6eval | rakudo bf472b: OUTPUT«False» | ||
[Coke] | r: my \\a = any set <1 2 3>; \n say 1 ~~ a' | 03:24 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Malformed myat /tmp/6z8KpoDs4s:1» | ||
[Coke] | r: my \a = any set <1 2 3>; \n say 1 ~~ a | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&n' called (line 1)» | ||
[Coke] | r: my \a = any set <1 2 3>;  say 1 ~~ a | 03:25 | |
p6eval | rakudo bf472b: OUTPUT«True» | ||
lue | I think I'll close the bug as INVALID, considering it's definitely my fault. (it was just me being stupid only a month after first joining #perl6) | 03:27 | |
[Coke] | Wanother bug down, by hook or by crook. Danke. | 03:29 | |
lue | Gerne. | 03:30 | |
[Coke] | r: X[X] | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Method 'parameterize' not found for invocant of class 'Perl6::Metamodel::PackageHOW'» | ||
sorear | lue! \o/ | 03:36 | |
lue | sorear! o/ | ||
sorear thought that Gerne was a mistyping of Schön, but apparently not | 03:37 | ||
03:38
jerome left
|
|||
lue | I'm curious as to whether or not #73944 is still relevant considering the rewrites rakudo has since gone through. | 03:39 | |
[Coke] | oh, hey, it's sorear, who is, I think, no longer stuck on rakudo builds. | 03:40 | |
r: say 288+364+5-87 #tickets | 03:41 | ||
p6eval | rakudo bf472b: OUTPUT«570» | ||
03:42
fgomez left
|
|||
[Coke] | rakudo: grammar G { regex foo { } }; say "alive" | 03:43 | |
p6eval | rakudo bf472b: OUTPUT«alive» | ||
[Coke] | std: grammar G { regex foo { } }; say "alive" | 03:44 | |
p6eval | std d38bbd0: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/WFRPKdpArH line 1:------> grammar G { regex foo { ⏏} }; say "alive"Parse failedFAILED 00:00 42m» | ||
[Coke] | . o O (zzz) | 03:45 | |
03:45
jaldhar joined
03:49
orafu left,
orafu joined
03:51
jerome joined
|
|||
sorear | [Coke]: iirc, that's one of the old blizkost bugs | 03:56 | |
[Coke]: I'm pretty sure it's not relevant in the 6model age, feel free to close it | |||
03:59
am0c joined
04:19
REPLeffect left
04:32
REPLeffect joined
|
|||
grondilu | Does it make sense to write sub { state $cache++ } ? | 04:34 | |
r: sub f { state $cache++ }; say f xx 3; | 04:35 | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix + insteadat /tmp/QCcAzh45UH:1» | ||
grondilu | oh, I thought it was ok syntaxicaly. Nevermind. | ||
geekosaur | std: sub f { state $cache++}; say f xx 3; | 04:36 | |
p6eval | std d38bbd0: OUTPUT«===SORRY!===Undeclared routine: 'xx' used at line 1Check failedFAILED 00:00 44m» | ||
geekosaur | std: sub f { state $cache++}; say f X 3; | ||
p6eval | std d38bbd0: OUTPUT«===SORRY!===Undeclared name: 'X' used at line 1Check failedFAILED 00:00 44m» | ||
geekosaur | std: sub f { state $cache++}; say f, f, f | ||
p6eval | std d38bbd0: OUTPUT«ok 00:00 45m» | ||
geekosaur | does seem syntactically ok per std at leasr | ||
n: sub f { state $cache++}; say f xx 3; | |||
p6eval | niecza v22-33-gda13155: OUTPUT«===SORRY!===Undeclared routine: 'xx' used at line 1Potential difficulties: $cache is declared but not used at /tmp/oD8u12SNzA line 1:------> sub f { state ⏏$cache++}; say f xx 3;Unhandled exception: Check fail… | ||
geekosaur | your xx seems unhappy :p | 04:37 | |
n: sub f { state $cache++}; say f(), f(), f() | |||
p6eval | niecza v22-33-gda13155: OUTPUT«Potential difficulties: $cache is declared but not used at /tmp/2oJmCiLI5t line 1:------> sub f { state ⏏$cache++}; say f(), f(), f()012» | ||
geekosaur | rakudobug? | ||
or maybe this is one we;ve already seen | |||
r: sub f { state $cache++; }; say f(), f(), f() | |||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix + insteadat /tmp/TKoLd43UGz:1» | ||
geekosaur | not that one at least | ||
note that niecza thinks it makes sense | 04:38 | ||
lue | std: say 3 xx 3; | ||
geekosaur | as does std | ||
p6eval | std d38bbd0: OUTPUT«ok 00:00 42m» | ||
geekosaur | right, may have been the f without parens | ||
r: sub f { state $cache++; }; say f() xx 3 | |||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Preceding context expects a term, but found infix + insteadat /tmp/905xXjKDH4:1» | ||
geekosaur | n: sub f { state $cache++; }; say f() xx 3 | ||
grondilu | there is a 'state' feature pragma in perl5 and it accepts this syntax | ||
p6eval | niecza v22-33-gda13155: OUTPUT«Potential difficulties: $cache is declared but not used at /tmp/hxhd2sUmA_ line 1:------> sub f { state ⏏$cache++; }; say f() xx 30 1 2» | ||
geekosaur | didn;t switch | ||
lue | r: sub f { state $cache = 0; $cache++; }; say f() xx 3; | 04:39 | |
p6eval | rakudo bf472b: OUTPUT«0 1 2» | ||
geekosaur | grondilu, did you follow at all what I did? | ||
grondilu | kind of. Did I miss something? | ||
lue | r: sub f { state $cache = 0; $cache++; }; say f xx 3; | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&xx' called (line 1)» | 04:40 | |
geekosaur | it looks like it;s supposed to work but rakudo has a parsing bug | ||
grondilu | ok | ||
geekosaur | niecza and std both accept it and niecza even seems to do the expected thing with it | ||
lue | std: sub f { state $cache = 0; $cache++; }; say f xx 3; | ||
p6eval | std d38bbd0: OUTPUT«===SORRY!===Undeclared routine: 'xx' used at line 1Check failedFAILED 00:00 44m» | ||
grondilu | eval: use feature "state"; sub f { state $n++ }; say f for 0 .. 2; | 04:41 | |
buubot_backup | grondilu: ERROR: syntax error at (eval 20) line 1, near "say f " | ||
grondilu | eval: use feature qw(state say); sub f { state $n++ }; say f for 0 .. 2; | ||
buubot_backup | grondilu: 0 1 2 | ||
lue | Well, std also says f xx 3 doesn't work, so I'm not sure that's a bug (but it is strange and doesn't feel dwimmy to me). | 04:42 | |
grondilu | it should work, shoudn't it? | 04:43 | |
geekosaur | I thought p6 required the ()\ | ||
sorear | f xx 3 is unlikely to work | ||
geekosaur | otherwise you get the 2 terms thing | ||
sorear | because after "f" the parser is expecting an infix operator | ||
grondilu | isn't xx an infix operator?? | ||
sorear | geekosaur: if you predeclare functions you can use them without parens | ||
I mean after "f" the parser is expecting a term | 04:44 | ||
n: sub f { rand }; say f xx 3 | |||
p6eval | niecza v22-33-gda13155: OUTPUT«===SORRY!===Undeclared routine: 'xx' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1437 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/… | ||
sorear | so xx 3 in term context parses as a sub call | ||
grondilu | r: sub f { rand } ; say f + 4 | ||
p6eval | rakudo bf472b: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub f at /tmp/36x7VZYd7M:1 in block at /tmp/36x7VZYd7M:1» | ||
lue | oh, I see it now. | ||
sorear | that parses as f(+4) | ||
which is f(4) | |||
n: sub term:<f> { rand }; say f xx 3 # explicitly mark f as not taking a parameter list at all | 04:45 | ||
p6eval | niecza v22-33-gda13155: OUTPUT«0.49389698146558225 0.34871486031856147 0.36149489058251255» | ||
grondilu | I'm surprised. I really thought I had already used a f + something syntax | ||
sorear | eval: sub foo { 'A' }; foo x 5 | ||
buubot_backup | sorear: ERROR: syntax error at (eval 20) line 1, near "x 5" | ||
sorear | eval: sub foo() { 'A' }; foo x 5 | ||
buubot_backup | sorear: AAAAA | ||
sorear | perl 5 works the same way | 04:46 | |
sub foo() being the equivalent of sub term:<foo> | |||
grondilu | I guess I must have hallucinated. Or I need some sleep. | ||
sorear | lack of sleep can cause hallucinations | ||
grondilu | eval: use feature "state"; sub f { state $n++ ? 1 : 0 }; say f for 0 .. 2; | 04:47 | |
buubot_backup | grondilu: ERROR: syntax error at (eval 20) line 1, near "say f " | ||
lue | .oO(Well, he didn't say xor :P) |
||
grondilu | eval: use feature qw(state say); sub f { state $n++ ? 1 : 0 }; say f for 0 .. 2; | 04:48 | |
buubot_backup | grondilu: 0 1 1 | ||
sorear | "for" is special here because it's a statement terminator | 04:49 | |
it breaks out of the argument list | |||
04:49
xilo_ left
|
|||
grondilu | eval: use feature qw(state say); sub f { state $n++ ? $n : 1 }; say f for 0 .. 2; | 04:49 | |
buubot_backup | grondilu: 1 | ||
grondilu | hum | 04:50 | |
if you're curious, I'm curently trying to shorten rosettacode.org/wiki/Continued_fraction#Perl | |||
04:57
fgomez joined
05:05
araujo left
05:09
hypolin left
05:17
telex left
05:22
hypolin joined
05:25
grondilu left
05:30
telex joined
05:33
thou joined
05:51
Khisanth left
05:53
birdwindupbird joined
06:03
kaleem joined
06:10
Khisanth joined
06:12
gfldex joined
06:13
hypolin left
|
|||
moritz | \o | 06:14 | |
lue | o/ | 06:15 | |
06:25
hypolin joined
|
|||
sorear | o| | 06:27 | |
lue: any chance we'll see ya in Austin next June? | 06:29 | ||
lue | When was it, 3-6 June? | ||
s/was/is/ | 06:30 | ||
sorear | 3-7 or so | ||
there's no actual schedule yet so it's too early to make hard plans | |||
06:32
kurahaupo left
|
|||
sorear has this vague idea that lue is a 15yo with various travel-incompatible commitments ? | 06:32 | ||
lue | That current week I still have school (with graduation the first Saturday after), so it seems I'll only be there in e-form :/ | ||
06:34
HarryS left
|
|||
sorear | ie, june 8? | 06:35 | |
lue | yes. | ||
sorear | if I may ask what state are you in? | 06:36 | |
lue | Oregon (but that's as granular as I feel comfortable being) | ||
sorear | hah | 06:37 | |
06:38
domidumont joined
06:48
SamuraiJack joined
06:52
cognominal joined
06:54
popl left,
SamuraiJack left
06:57
SamuraiJack joined
07:01
domidumont left
07:02
domidumont joined
|
|||
lue | I'm guessing the stubs in src/core only work because the real thing occurs later in the concatenated file? | 07:08 | |
sorear | yes | 07:12 | |
07:13
skids left
07:16
sftp left
07:19
sftp joined
07:25
cognominal left
07:41
raiph left
07:44
HarryS joined,
domidumont left
07:45
domidumont joined
|
|||
jnthn | morning o/ | 07:48 | |
moritz | \o | 07:49 | |
Su-Shee | good morning everyone. | 07:51 | |
07:53
marloshouse left
07:54
marloshouse_ joined
|
|||
arnsholt | Moin Su-Shee | 07:55 | |
07:56
Gryllida joined
08:00
flightrecorder joined
08:01
FROGGS joined
|
|||
lue | r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/ | 08:03 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
lue | It must be getting late. I don't see why this fails. | ||
FROGGS | r: say so 'C::D' ~~ /([\w||'::']+)*/ | 08:06 | |
p6eval | rakudo bf472b: OUTPUT«True» | ||
FROGGS | hmmm | ||
ohhh | |||
lue: \s+ doesnt match B | |||
lue | r: 'does B' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: 'class A does B is C::D' ~~ /[\w+ does \w+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: 'class A does B is C::D' ~~ /[\w+ does \w+ is ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「」» | 08:07 | |
lue | but it (should) match the space between 'does' and 'B' | ||
FROGGS | but somthing must match B | ||
lue | r: 'class A does B is C::D' ~~ /\s+ does \s+ ([\w||'::']+)/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「 does B」 0 => 「B」» | ||
FROGGS | ahh, the rest should match B, not C::D | 08:08 | |
lue | I fear a bug is what I have found. This works, but I don't know how many times 'does' appears. | ||
FROGGS | r: 'does B' ~~ /(\s+ does \s+ ([\w||'::']+))*/; say $/ | 08:09 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: 'does B' ~~ /(\s+ does \s+ ([\w||'::']+))/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«#<failed match>» | ||
FROGGS | r: 'class A does B is C::D' ~~ /(\s+ does \s+ ([\w||'::']+))/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「 does B」 0 => 「 does B」 0 => 「B」» | ||
FROGGS | if you use * than its still fine if it doesnt match anything | 08:10 | |
lue | Actually, it looks like 'does' and 'is' only ever appear once in what I'm processing, but the inability to generalize annoys me. | 08:11 | |
r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | 08:12 | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
lue | r: 'does B ' ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「does B」 0 => 「B」» | ||
FROGGS | r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]+/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「does B」 0 => 「B」» | ||
lue | O.o | ||
FROGGS | looks like * is non greedy | ||
* is "zero times or more", so no match is good too | 08:13 | ||
lue | r: 'does B ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Confusedat /tmp/Tv4KWFY94e:1» | ||
lue | r: 'does B' ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「does B」 0 => 「B」» | ||
lue | r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | 08:14 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
lue | r: 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*!/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | damnit, have to reboot, brb | ||
lue | I thought they were greedy by default. In any case, forcing it to be greedy doesn't help. | ||
FROGGS | maybe thats the bug ;o) | 08:15 | |
08:15
FROGGS left,
flightrecorder left
|
|||
lue | r: 'does B' ~~ /[does \s+ ([\w||'::']+)]*?/; say $/ | 08:15 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
lue | o.o It would seem * is magically frugal here --> 'class A does B is C::D' ~~ /[does \s+ ([\w||'::']+)]*/; say $/ | 08:16 | |
08:17
flightrecorder joined,
FROGGS joined
|
|||
FROGGS | thats better... | 08:17 | |
lue | r: 'does B' ~~ /[does \s+ ([\w||'::']+)]*?/; say $/ # FROGGS: doing s/*/*?/ in a known working match... | 08:18 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: say 'does B' ~~ /[does \w]*?/; | 08:19 | |
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: say 'does B' ~~ /[does \w]*/; say 'does B' ~~ /[does \w]*!/; say 'does B' ~~ /[does \w]*?/; | ||
p6eval | rakudo bf472b: OUTPUT«「」「」「」» | ||
lue | r: say 'does B' ~~ m:s/[does \w]*?/; | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
FROGGS | r: say 'does B' ~~ /[does B]*/; say 'does B' ~~ /[does B]*!/; say 'does B' ~~ /[does B]*?/; | ||
p6eval | rakudo bf472b: OUTPUT«「」「」「」» | ||
FROGGS | r: say 'does B' ~~ /(does B)*/; say 'does B' ~~ /(does B)*!/; say 'does B' ~~ /(does B)*?/; | 08:20 | |
p6eval | rakudo bf472b: OUTPUT«「」「」「」» | ||
lue | (matches don't match literal whitespace by default) | ||
FROGGS | ohh | ||
right | |||
lue | hence the m:s/ I used. | ||
FROGGS | r: say 'does B' ~~ /(does\sB)*/; say 'does B' ~~ /(does\sB)*!/; say 'does B' ~~ /(does\sB)*?/; | ||
p6eval | rakudo bf472b: OUTPUT«「does B」 0 => 「does B」「does B」 0 => 「does B」「」» | ||
FROGGS | huh | ||
r: say 'does B' ~~ /[does\sB]*/; | 08:21 | ||
p6eval | rakudo bf472b: OUTPUT«「does B」» | ||
FROGGS | why does it work now? | ||
lue | r: say 'does B' ~~ /[does\sB]*/; say 'does B' ~~ /[does\sB]*!/; say 'does B' ~~ /[does\sB]*?/; | ||
p6eval | rakudo bf472b: OUTPUT«「does B」「does B」「」» | ||
FROGGS | r: say 'does B' ~~ /[does \s B]*/; | ||
p6eval | rakudo bf472b: OUTPUT«「does B」» | ||
FROGGS | hmmm | ||
r: say 'does B' ~~ /[does \s \w]*/; | |||
p6eval | rakudo bf472b: OUTPUT«「does B」» | ||
lue calls for all the awake regexperts | 08:22 | ||
r: say 'class A does B' ~~ /[does\sB]*/; say 'does B' ~~ /[does\sB]*!/; say 'does B' ~~ /[does\sB]*?/; | |||
p6eval | rakudo bf472b: OUTPUT«「」「does B」「」» | ||
FROGGS | ohh | ||
that explains it | 08:23 | ||
moritz | lue: what's the question? | ||
lue | .oO(feels like it's trying to match from the beginning of string when it shouldn't.) |
08:24 | |
r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/ # moritz: why? | |||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
moritz | r: 'class A does B is C::D' ~~ /[\s+ does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「」» | ||
moritz | lue: it tries to match at position 0 first | 08:25 | |
lue: and succeeds, with the empty match | |||
lue: then it stops. | |||
FROGGS | ya, makes sense some how | ||
08:25
domidumont left
|
|||
moritz | the foremost principle of the regex engine is to try the left-most match first | 08:25 | |
finding the longest match is only second principle | 08:26 | ||
lue | That makes complete sense, yet feels entirely wrong at the same time. | ||
08:26
domidumont joined
|
|||
lue | (In this case, that is) | 08:26 | |
moritz | if it feels wrong, then there's something wrong inside you that makes it feel wrong to you | 08:27 | |
FROGGS | bah | ||
moritz | like, using * instead of + if you really want at least one match | ||
tadzik | good morning | ||
FROGGS | mornin' | 08:28 | |
moritz | good morning tadzik | ||
lue | (there might not be a match though, and I doubt ? would help much) | ||
08:28
araujo joined,
araujo left,
araujo joined
08:29
Khisanth left
|
|||
lue | r: 'class A does B is C::D' ~~ /.+ [\s+ does \s+ ([\w||'::']+)]*/; say $/ | 08:29 | |
moritz | lue: then use + and deal with a possibly failing match | ||
p6eval | rakudo bf472b: OUTPUT«「class A does B is C::D」» | ||
lue | r: 'class A does B is C::D' ~~ /.+? [\s+ does \s+ ([\w||'::']+)]*/; say $/ | ||
p6eval | rakudo bf472b: OUTPUT«「c」» | ||
lue is sadly laughing right now. | 08:30 | ||
08:30
wamba joined
|
|||
lue | It seems like I'll have to deal with a failing match then (although now the code loses that strange appeal code that doesn't have conditionals has). | 08:32 | |
In any case, good knight o/ | |||
08:33
cognominal joined
|
|||
FROGGS | lue: gnight | 08:40 | |
08:42
cognominal left,
Khisanth joined
08:43
domidumont left
08:45
cognominal joined
08:50
Kharec joined
08:51
larks left
08:53
larks joined
08:59
fhelmberger joined
09:07
xinming left
09:08
xinming joined
09:09
cognominal left
09:16
cognominal joined
|
|||
dalek | ecza: 9ce3bae | sorear++ | / (4 files): use UUIDs instead of Run. to segragate runtime and compiler module versions; build is quite shot at this point |
09:18 | |
timotimo | is there a way for Configure.pl to check out only a shallow clone of parrot and nqp? | 09:35 | |
09:37
dakkar joined
09:44
fhelmberger left
|
|||
dalek | ecza: 2efdd99 | sorear++ | / (2 files): Port compiler binding into the kernel proper |
10:03 | |
10:03
cognominal left
10:04
am0c_ joined,
am0c left
|
|||
sorear | timotimo: unsure, doubtful | 10:05 | |
ask jnthn | |||
10:05
am0c_ is now known as am0c
|
|||
dalek | ecza: 19fa03a | sorear++ | lib/CompilerBinding.cs: Fix call names |
10:08 | |
moritz | timotimo: no; but you can obtain and unpack a tarball of the appropriate version yourself | 10:09 | |
10:09
hypolin left
|
|||
timotimo | do i need to tell Configure.pl about that somehow? | 10:09 | |
10:10
cognominal joined
|
|||
sorear | wow. the new segregation regimen *works* | 10:11 | |
tomorrow: try and reconstruct the build system | |||
sleep& | |||
10:13
kresike joined
|
|||
kresike | helo all you happy perl6 people | 10:13 | |
jnthn | ehlo kresike | 10:15 | |
kresike | jnthn, I'm not an SMTP server :) | ||
jnthn | :D | 10:16 | |
Ah, the days when it was a worthwhile perforamnce win to choose 4-letter command names so you could do 32-bit integer comparisons to see what the command was... | 10:17 | ||
10:19
Chillance joined
10:20
bowtie joined
|
|||
moritz | did they even have 32bit integers in those days? :-) | 10:22 | |
10:24
anuby left
|
|||
tadzik | :> | 10:24 | |
10:32
Kharec left
10:33
Kharec joined,
Kharec left
10:34
Kharec joined,
SmokeMachine joined
10:37
fhelmberger joined,
thou left
10:40
perigrin left
11:02
rindolf joined
|
|||
dalek | rlito: 98415bf | (Flavio S. Glock)++ | t5/01-perlito/31-autoload.t: Perlito5 - tests - add AUTOLOAD tests |
11:04 | |
11:05
Su-Shee_ joined
|
|||
dalek | rlito: 8d65dd4 | (Flavio S. Glock)++ | t5/01-perlito/32-autoload-method.t: Perlito5 - tests - add AUTOLOAD tests |
11:08 | |
11:09
Su-Shee left
11:15
birdwindupbird left
11:22
mtymula joined
|
|||
mtymula | Hello | 11:22 | |
moritz | hi | 11:23 | |
mtymula | i am trying to create exec out of perl6 file hello.pl | ||
on my win32 | |||
moritz | this doesn't work (yet) | ||
mtymula | oh crap... | ||
tadzik | (: | ||
well, doesn't it work on niecza maybe? | 11:24 | ||
mtymula | only windows | ||
? | |||
tadzik | no, it dosn't work on unices either, afaik | ||
moritz | that's correct | ||
mtymula | ok, so no exec | ||
when one can expect that feature?? | 11:25 | ||
moritz | you can expect it whenever you like | 11:26 | |
but we don't have a timeline for it | |||
tadzik | and if you expect it now, we'll send you this magic marker included! :-) | ||
mtymula | yeah:) | 11:27 | |
you know.. i am writing a thesis about perl6 | |||
i need to know what is what and what is working | |||
so i guess i should look at apocalypses?? | 11:28 | ||
moritz | no | ||
tadzik | nope :) | ||
that has nothing to do with working | |||
mtymula | ok, | ||
moritz | the synopsis are what we try to implement | ||
tadzik | perl6.org/compilers/features is the "what is working" | ||
moritz | and the bug tracker for what is not working | ||
tadzik | :D | ||
mtymula | oh tight i've seen that site before | ||
hahaha | 11:29 | ||
*that | |||
masak | g'day, #perl6 | ||
mtymula | ok so i've got only one q | 11:30 | |
masak | mtymula: Perl 6 is a language that compiles down to bytecode, not machine code. why do you expect it to compile down to machine code, and why is it a problem for you that it doesn't? | ||
mtymula | oh it is not a prolbem for me | ||
i just need to know that stuff for my science work | |||
that i am doing | |||
masak | I see. | 11:31 | |
well, the reason it's not part of any timeline is that Perl 6 is not chiefly meant to be used that way. | |||
nor is, for example, Java. | 11:32 | ||
it compiles down to those .class files, which one then interprets. | |||
mtymula | good | 11:33 | |
masak | in Perl 5 and 6, the process is a little simpler, since you don't have to do it in two steps, and you never see the intermediate format. | ||
but the principle is exactly the same. | |||
therefore, .exe files would be a detour. | 11:34 | ||
huf | eventually someone will come up with a way to pack the entire perl6 interpreter and half the world into one single file, along with your code... | 11:35 | |
mtymula | i am supposed to make a http html app with connection to database and some fancy looking tables on the gui side. My question is, do you know about any deatours or not implemented functionalities that can prevent me from doing that task?? | ||
huf | that'll be an exe fsvo exe | ||
masak | mtymula: check out github.com/tadzik/zblog | 11:36 | |
mtymula: it's a web frontend to a database. | |||
works in Rakudo, today. | |||
tadzik | for only 2.99 | ||
masak | but that's not all... | ||
tadzik | 'fcourse not | 11:37 | |
mtymula | ok, thanks a lot | ||
tadzik | you get to write your own Fancy Looking Tables. Absolutely free! | ||
huf | who do i call _now_? | ||
tadzik | GHOSTBUSTERS | ||
huf | \o/ | ||
masak | you can expect some things not to be implemented yet. basically, if you come in with the expectations of CPAN, you will be disappoint. | ||
in other words, you can almost always compensate, but sometimes it takes toil and sweat to do so. | 11:38 | ||
jnthn | And please share your sweat on modules.perl6.org :) | ||
masak | we should make that our new slogan. | 11:39 | |
modules.perl6.org -- "sweat that you can share!" | |||
jnthn | Sponsored by Pocari! | ||
masak shapes himself like a bunch of katakana | |||
mtymula | is there any other way to contact you, so i could make perhaps some interview or inquiry and add it to my science papers?? | 11:40 | |
FROGGS | masak: I almost sent that contributor agreement (it's at home, just need to get en envelope) | ||
masak | FROGGS: cool! | ||
mtymula: I think many here would be willing to do interviews via email, or privmsg here on IRC. | 11:41 | ||
FROGGS | I'm not used to paper, you see | ||
masak | FROGGS: I know the feeling. | ||
tadzik | I think I've emailed a scan of my CLA | ||
jnthn | FROGGS: I know, I always hate it when people expect paper things dong... | ||
masak | tadzik: ooh, clever | ||
tadzik | well, lazy ;) | 11:42 | |
FROGGS | tadzik: MRA! I can do that tuu | ||
11:42
am0c left
|
|||
tadzik | it was awesome | 11:42 | |
like, not leaving my cave | |||
FROGGS | *g* | ||
ya, sunlight, bah | |||
masak .oO( but then how would they know it's real and not created in Paint or something...? ) | |||
mtymula | ok people so I will get back to you with more questions:) have a nice day | 11:43 | |
11:43
am0c joined
|
|||
mtymula | !! | 11:43 | |
tadzik | same to you :) | ||
11:44
GlitchMr joined
|
|||
masak | have($day, :nice) | 11:46 | |
11:47
JJ_Brain joined
|
|||
masak | perl6: my @odd = 1,3,5 ... 8; say @odd[^4] | 11:48 | |
surely this should time out? | |||
[Coke]: ^ | |||
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«(timeout)» | ||
jnthn | Needs binding | ||
moritz | perl6: my @odd := 1, 3, 5 ... 8; say @odd[^4] | 11:49 | |
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«1 3 5 7» | ||
moritz | perl6: my @odd := 1, 3, 5 ... 8; say @odd[^8] | ||
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«1 3 5 7 9 11 13 15» | ||
masak | [Coke]: seems you're only testing the first half of rt.perl.org/rt3/Ticket/Display.html?id=76648 | 11:50 | |
jnthn: right, that's what I meant. I couldn't see which RT ticket it was coming from, but it looked to me like it should hang. | |||
<moritz> if it feels wrong, then there's something wrong inside you that makes it feel wrong to you | 11:59 | ||
moritz is a stern teacher :) | |||
11:59
JJ_Brain left
12:00
JJ_Brain joined,
JJ_Brain left
|
|||
moritz sometimes is | 12:03 | ||
12:14
am0c_ joined
12:15
am0c left
12:16
birdwindupbird joined
12:17
am0c_ is now known as am0c
12:20
brrt joined,
Su-Shee_ is now known as Su-Shee,
gootle left
12:30
mtymula left
12:31
tokuhiro_ left
12:32
tokuhiro_ joined
12:36
Psyche^ joined
12:39
Patterner left,
Psyche^ is now known as Patterner
|
|||
dalek | rlito: 643adab | (Flavio S. Glock)++ | / (4 files): Perlito5 - js2 - p5call_sub() placeholder for AUTOLOAD |
12:45 | |
12:55
SamuraiJack left
12:59
sqirrel joined
13:03
cognominal left
13:04
cognominal joined
13:09
cognominal left
13:12
cognominal joined
13:23
kaleem left
13:41
ilogger2 joined,
ChanServ sets mode: +v ilogger2
13:42
takesako joined
13:46
Pleiades` joined
13:47
cognominal joined
13:50
_ilbot joined
13:56
ruoso joined
14:11
atrodo joined,
PacoAir joined
14:12
cognominal left
14:14
tokuhiro_ joined
14:18
cognominal joined,
PacoAir left
14:19
PacoAir joined
14:23
kaleem joined
14:35
kaleem left,
kaleem joined,
domidumont joined
|
|||
FROGGS | [Coke]: reinstalling opensolaris... | 14:36 | |
14:40
larks joined
14:51
rurban_ joined
14:55
wamba joined
|
|||
FROGGS | .oO( masak is also known as the symbol ) |
14:58 | |
.oO( ... formerly known as prince ) |
|||
15:01
rurban_ left
|
|||
geekosaur | somewhat appropriate since irc won't let him use his symbol :) | 15:04 | |
15:05
stopbit joined
15:06
dakkar joined
15:10
perigrin joined,
kaare_ joined
15:15
Shozan joined
|
|||
masak | seems a bit stormy on the IRCs today. | 15:18 | |
FROGGS | there should be a relay chat forecast... | 15:24 | |
15:24
grondilu joined
|
|||
grondilu | rn: class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x.(2, 1) | 15:24 | |
p6eval | rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3 in method postcircumfix:<( )> at /tmp/AbMJCtzaIi:1 in at src/gen/BOOTSTRAP.pm:852 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/AbMJCtzaIi:1» | ||
..niecza v22-36-g19fa03a: OUTPUT«l» | |||
Pompel | I've heard that the IRC can be quite deadly to the MSN-lubbers. | ||
grondilu | rn: class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x(2, 1) | ||
p6eval | rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3 in method postcircumfix:<( )> at /tmp/a7DuiH_YNl:1 in at src/gen/BOOTSTRAP.pm:852 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/a7DuiH_YNl:1» | ||
..niecza v22-36-g19fa03a: OUTPUT«l» | |||
grondilu submits rakudobug | 15:29 | ||
15:30
Kharec joined
15:31
xilo joined
15:34
skids joined,
cognominal_ joined,
cognominal left
|
|||
grondilu | rn: my class {} $; | 15:37 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Confusedat /tmp/bH7frpmJSL:1» | ||
..niecza v22-36-g19fa03a: OUTPUT«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/PtQKqHwDHr line 1:------> my class {}⏏ $;Parse failed» | |||
masak | grondilu: I think you're getting two parameters to postcircumfix:<( )> because it packages your (2, 1) as a capture and passes that as a single argument. | 15:38 | |
I don't remember whether that's still spec or no. | |||
grondilu | r: class Foo { has $.str; method postcircumfix:<( )>($i, $k) { $.str.substr: $i, $k } }; my Foo $x .= new: :str("hello"); say $x(|(2, 1)) | ||
p6eval | rakudo bf472b: OUTPUT«Not enough positional parameters passed; got 2 but expected 3 in method postcircumfix:<( )> at /tmp/cgrJZnKyKj:1 in at src/gen/BOOTSTRAP.pm:852 in any at src/gen/BOOTSTRAP.pm:836 in block at /tmp/cgrJZnKyKj:1» | ||
grondilu | I don't see why it should passes that as a capture. | 15:39 | |
*pass | 15:40 | ||
15:40
cognominal_ left,
bluescreen10 joined
|
|||
masak | I'm not justifying it doing so; I'm explaining why 2 parameters were expected. (the invocant and the capture) | 15:40 | |
FROGGS | masak: do you get mails when I reply to RT tickets? | ||
masak | FROGGS: depends. | 15:41 | |
FROGGS: do you mark them as "cc to p6c"? | |||
FROGGS | if you are the owner | ||
masak | FROGGS: then yes. | ||
15:41
cognominal_ joined
|
|||
masak | when I am the requestor, I get emails. | 15:41 | |
FROGGS | k, because you might noticed that I check old tickets and reply if it is fixed now... but I cant add tags or close tickets | 15:42 | |
moritz | somebody should give you write access | 15:43 | |
FROGGS | maybe, I'd like to add 'testneeded' to some | 15:44 | |
moritz | [Coke]: can you give FROGGS (RT ID froggs.de) write access to the perl6 RT queue? | ||
FROGGS | FROGGS.de if case matters | ||
15:50
cognominal_ left
15:52
prammer joined
|
|||
FROGGS | masak: your bugs 94128 and 79174 are the same... | 15:54 | |
rt.perl.org/rt3/Ticket/Display.html?id=94128 <-> rt.perl.org/rt3/Ticket/Display.html?id=79174 | |||
15:56
rurban joined,
cognominal joined
|
|||
rurban | I have a potential nqp fix for the remaining nqp crash with threaded parrot: github.com/parrot/parrot/issues/869 | 15:57 | |
phenny | rurban: 13 Nov 04:11Z <isBEKaml> tell rurban that I can now build parrot+rakudo successfully on cygwin. it was a line ending issue from msysgit, installing cygwin's git and a fresh checkout resolved them all. | ||
15:57
am0c joined
|
|||
rurban | nqp needs to check also GC'ed away types, which are enum_class_Proxy | 15:58 | |
15:58
grondilu left
16:02
kaleem left
16:03
larks left
|
|||
dalek | p: a93915b | rurban++ | src/pmc/nqplexpad.pmc: [parrot #869] Check also for proxied lexinfo with threaded parrots Tadzik came up with an abnormal testcase, which crashed in nqp on a threaded parrot. See [parrot #869]. Parrot_NQPLexPad_set_pointer needs to check for enum_class_Proxy also. Note this commit does not fix the problem, only the segfault. I do not know which lexinfo name_map to get with enum_class_Proxy. |
16:03 | |
FROGGS | haha, tadzik makes abnormal testcases ;o) | 16:04 | |
16:06
mtymula joined,
jnthn joined
|
|||
dalek | p: 6d8b63d | rurban++ | src/pmc/nqplexpad.pmc: [whitsepace] parrot #869 Parrot_NQPLexPad_set_pointer sorry for the hard tab |
16:06 | |
mtymula | hello | ||
rurban | A very abormal case in which the lexpad gets GC'ed in a different thread | ||
So threads are not quite ready yet, but almost. | 16:07 | ||
mtymula | I am doing this tutorial perl6maven.com/tutorial/perl6-loop-...ing-values | 16:08 | |
when tutorial says that i should get : | |||
use of uninitialized value of type Mu in string context in block <anon> at examples/arrays/missing_values_fixed.p6:5 | |||
i get only MU() | |||
is it correct? | |||
FROGGS | rurban: thats awesome, I'm looking forward to perl6 threads (still have stomach ache when thinking of perl5's ithreads...) | 16:09 | |
masak | mtymula: I think so. | ||
mtymula | masak: thx | ||
masak | phz | ||
jnthn | *pzh :P | 16:10 | |
16:10
larks joined,
larks left,
larks joined
|
|||
masak | dng :) | 16:10 | |
jnthn | rurban: Is it actually a GC issue? | 16:11 | |
rurban: Or can it happen whenever we create a LexPad in one thread that refers to a LexInfo in another thread? | |||
rurban | This could also be the case. I do not know this code well enough | 16:12 | |
jnthn | set_pointer is called by Parrot to provide the context that the lexpad will be for | ||
rurban | jnthn: Yes, I think your explanation is better | ||
Can you think of a fix? | 16:13 | ||
jnthn | No. | ||
We really need to look at the real LexInfo there, in general. | |||
Well, the NQPLexInfo. | |||
So the ansewr is "however we get the really thing from the proxy" I guess. | |||
*real | |||
rurban | I sent nine a message if he could help us. He invented these proxies | 16:14 | |
jnthn | *nod* | ||
Well, whatever fix applies for NQP there should be good for Rakudo too | |||
rurban | Or whiteknight maybe | ||
I just don't know if we stepped into a can of worms | |||
We eventually might need to check all pmcs for proxies | 16:15 | ||
jnthn | urgh | ||
Yeah, this potentially could go fairly deep. | 16:16 | ||
rurban | A transparent proxy would be better | 16:17 | |
benabik | I thought the proxies were fairly transparent. | 16:18 | |
16:20
am0c left
16:23
BooK joined
|
|||
rurban | I asked the mailing list | 16:26 | |
tadzik | yeah, threads moving :) | 16:38 | |
kresike | bye folks | 16:44 | |
16:46
cognominal left
|
|||
rurban | whiteknight explained the threads proxies issues on the list. We might need new macros to access a pmc vtable (proxy_pmc->data->target_pmc->vtable) | 16:50 | |
He argued to merge threads and fix nqp over time | 16:51 | ||
moritz | does that mean that vtable accesses get slower? | 16:52 | |
16:56
cognominal joined,
rafl joined
17:00
flussence joined
17:07
rafl left,
domidumont left
|
|||
rurban | You need to check for the proxy case, yes. One more int comparison | 17:07 | |
17:07
domidumont joined
|
|||
rurban | I think I have a good nqp fix now | 17:07 | |
17:08
rafl joined
17:09
rafl left,
aindilis joined
|
|||
jnthn | rurban: Next issue: all the 6model related ops look for an object to be a SixModelObject PMC, and thus as soon as any object gets shared we hit this issue again, I suspect. | 17:09 | |
17:10
rafl joined
|
|||
rurban | But then it will be easier to abstract. You just need to check the Proxy case and if so access the data->target instead | 17:11 | |
17:12
MayDaniel joined
17:13
thou joined
|
|||
rurban | Oh I see. | 17:14 | |
17:20
cognominal left
|
|||
rurban | How advanced is NQPP5QRegex? 50% | 17:20 | |
17:27
erkan joined,
erkan left,
erkan joined
17:33
SamuraiJack joined
17:36
FROGGS joined
17:39
am0c_ joined,
am0c_ left
17:40
am0c_ joined
17:41
am0c_ left
17:42
larks left
17:44
am0c_ joined
17:45
larks joined
|
|||
masak | rn: say <turtles closures MOP>.roll, " all the way down!" | 17:46 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«closures all the way down!» | ||
..rakudo bf472b: OUTPUT«MOP all the way down!» | |||
17:46
am0c_ left
|
|||
masak | :P | 17:46 | |
benabik | No turtles for you. | 17:47 | |
masak | who needs turtles when one has infinite closures and MOP! | ||
17:49
am0c_ joined
17:50
am0c_ is now known as am0c
17:55
am0c left,
am0c joined
17:56
rafl left,
rafl joined
|
|||
masak | re rt.perl.org/rt3//Public/Bug/Displa...?id=100124 | 17:57 | |
it may well be that that is "expected behavior", I dunno. | |||
it's certainly more consistent than when the ticket was filed. | |||
I guess it all hinges on whether it should be OK to compose the *same* role twice, through two different paths. | 17:58 | ||
dalek | ast: be54170 | moritz++ | S32-exceptions/misc.t: fudge test for RT #114134 |
||
masak | I think a strong case could be made for yes, that should be possible. | ||
in which case the behavior is not the expected one. | |||
17:59
cognominal joined
18:03
grondilu joined
|
|||
grondilu has just realised he can still use @_ | 18:04 | ||
rn: sub f { @_ }; say f <hello perl6>; | |||
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«hello perl6» | ||
masak | yes. it's readonly, though. | 18:05 | |
that's a big difference to Perl 5. | |||
benabik | r: sub f { say @_.shift }; f <hello perl6> | 18:06 | |
p6eval | rakudo bf472b: OUTPUT«hello» | ||
grondilu | rn: sub f { shift }; say f <hello perl6>; | 18:07 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===CHECK FAILED:Calling 'shift' will never work with no arguments (line 1) Expected any of: :(@a)» | ||
..niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: No value for parameter '@array' in 'shift' at /home/p6eval/niecza/lib/CORE.setting line 0 (shift @ 1)  at /tmp/GnPyeXcEEa line 1 (f @ 4)  at /tmp/GnPyeXcEEa line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 42… | |||
grondilu wonder why shift could not be called with no arguments | |||
masak | because functions don't have default arguments like that in Perl 6. | 18:09 | |
japhb | rn: sub f { .shift }; say f <hello perl6>; | ||
masak | underlying reason is that you shouldn't be expected as a programmer to memorize arbitrary lists of which functions do have default arguments and which don't. | ||
p6eval | rakudo bf472b: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub f at /tmp/bLIfA4apWj:1 in block at /tmp/bLIfA4apWj:1» | ||
..niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: Unable to resolve method shift in type Parcel at /tmp/Wu7tHk0ggy line 1 (f @ 4)  at /tmp/Wu7tHk0ggy line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting li… | |||
japhb | Interesting | ||
benabik | .shift calls $_.shift, not @_.shift, I think | 18:10 | |
masak | I think the shortest way to write that is @_.shift | ||
benabik: it does, yes. | |||
.shift always means $_.shift | |||
japhb | benabik, I knew that. I just wondered how the two compilers would react. | ||
jnthn | japhb: You have to mention @_ in order to get the *@_ signature. | ||
In Rakudo, anyways... | |||
japhb | jnthn, yes, I know. | ||
I guess I should have said # Just curious at the end of my test. ;-) | 18:11 | ||
grondilu | rn: sub f { @_.shift; @_ }; say f <hello perl6>; | 18:12 | |
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«perl6» | ||
grondilu | well it's not readonly, after all. | ||
.oO(unless being able to shift an array does not mean we can mutate its individual values, so it still is readonly) |
18:14 | ||
masak | I think it should mean that. | 18:16 | |
skids | grondilu: S06 says "the slurpy star means the declared formal parameter is not considered readonly; only its elements are." | 18:17 | |
masak | interesting. | ||
grondilu | skids: ok | ||
masak | I guess that does make sense, since the array is created as part of the parameter binding. | ||
18:18
dakkar left,
mtymula left
|
|||
sorear | o/ | 18:21 | |
arnsholt | And it won't ever be something external, so forcing it to be immutable isn't really necessary in a way | 18:25 | |
skids | it's a DWIM WIN-WIN :-) | 18:26 | |
grondilu | rn: my @a = ^10; sub f(*@a) { @a[0] = "foo" }; f @a; say @a; | 18:27 | |
p6eval | rakudo bf472b: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
..niecza v22-36-g19fa03a: OUTPUT«foo 1 2 3 4 5 6 7 8 9» | |||
grondilu | slurpy star NYI in rakudo? | 18:28 | |
arnsholt | grondilu: I think @a[0] inside f will be the whole list 1..9 | 18:30 | |
You're probably thinking of f(|@a) which flattens, but then you still won't be modifying the @a outside | |||
skids | r: my @a = ^10; sub f(*@a is rw) { @a[0] = "foo" }; f @a; say @a; | 18:31 | |
p6eval | rakudo bf472b: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
skids | (I think that's supposed to work according to spec.) | ||
arnsholt | r: my @a = ^10; sub f(*@a is rw) { @a[0][0] = "foo" }; f @a; say @a; | ||
p6eval | rakudo bf472b: OUTPUT«Cannot assign to a non-container in sub f at /tmp/qillKolrn1:1 in block at /tmp/qillKolrn1:1» | ||
arnsholt | Huh | 18:32 | |
18:32
Kharec left
|
|||
arnsholt | At any rate, func(@array) will never flatten in Perl 6 (unlike Perl 5). For flattening you want func(|@array) | 18:32 | |
grondilu | it's not really about flattening, it's about mutating, as mentioned in the sentence skids quoted from S06. But I guess I should read this part again more carefully. | 18:34 | |
skids | S06 also says the "is rw" distributes to the elements of a slurpy, so I read that as the above should have worked. | ||
grondilu | rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @æ; say @a;' | 18:35 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«===SORRY!===Variable @æ is not predeclared at /tmp/I6WVOkWBGW line 1:------> ; sub f(*@a is rw) { @a[1] = "foo" }; f ⏏@æ; say @a;'Bogus statement at /tmp/I6WVOkWBGW line 1:------> is rw) { @a[1] = "foo" }; f… | ||
..rakudo bf472b: OUTPUT«===SORRY!===Variable @æ is not declaredat /tmp/whQYeYGyip:1» | |||
grondilu | rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @a; say @a;' | ||
p6eval | niecza v22-36-g19fa03a: OUTPUT«===SORRY!===Bogus statement at /tmp/hiRHUMjUTR line 1:------> is rw) { @a[1] = "foo" }; f @a; say @a;⏏'Parse failed» | ||
..rakudo bf472b: OUTPUT«===SORRY!===Unable to parse expression in quote:sym<apos>; couldn't find final "'" at line 2, near ""» | |||
grondilu | rn: my @a = <foo bar>; sub f(*@a is rw) { @a[1] = "foo" }; f @a; say @a; | 18:36 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«foo foo» | ||
..rakudo bf472b: OUTPUT«foo bar» | |||
grondilu | niecza and rakudo definitely don't agree with this stuff | ||
rn: my @a = <foo bar>; sub f(@a is rw) { @a[1] = "foo" }; f @a; say @a; | |||
p6eval | rakudo bf472b, niecza v22-36-g19fa03a: OUTPUT«foo foo» | ||
skids | r: my @a = ^10; sub f(*@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); say @a; | 18:37 | |
p6eval | rakudo bf472b: OUTPUT«inside f a is foo 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9» | ||
TimToady | we have two different definitions of "flattening" here | 18:43 | |
prefix | does one kind of flattening, and slurpy * does a different kind | |||
| flattens an item into the argument list, whereas * manages the transition from positional arguments to variadic | 18:44 | ||
the term "flatten" is rather badly overloaded | 18:45 | ||
skids | .oO(that's probably why it's flat, because it got squished) |
||
TimToady | to look at it another way, the difference between p5 and p6 is not that we completely did away with item vs list context, but that the decision is made lazily based on binding to the signature | 18:46 | |
| lets you violate item-by-item binding on the caller's side, while * lets you violate it on the callee's side | 18:47 | ||
generally speaking, the * is more normative, while the | is one of those safety valve features | 18:49 | ||
skids | r: my $b = 0; my @a := $b,1,2,3; sub f(@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); $b.say; @a.say | 18:56 | |
p6eval | rakudo bf472b: OUTPUT«inside f a is foo 1 2 3foofoo 1 2 3» | ||
skids | r: my $b = 0; my @a := $b,1,2,3; sub f(*@a is rw) { @a[0] = "foo"; say "inside f a is {@a}" }; f(@a); $b.say; @a.say | 18:57 | |
p6eval | rakudo bf472b: OUTPUT«inside f a is foo 1 2 300 1 2 3» | ||
[Coke] | moritz, FROGGS: FROGGS.de is now a perl6 bugadmin. | 19:03 | |
FROGGS | \O/ | ||
[Coke]: thanks a lot! | |||
[Coke] | no worries. less for me to do! | 19:06 | |
FROGGS | ha, I'll just mess all up, so more to do for you ;o) | ||
MUHAHAAHA | |||
[Coke] | O_O; | 19:08 | |
[Coke] ponders stalling 73104 and 73184 | 19:10 | ||
dalek | ast: 5828eb7 | coke++ | S02-magicals/progname.t: Add test for RT #89704 |
19:11 | |
[Coke] | been sitting on that one for a while, I think. | 19:13 | |
19:13
spider-mario joined
|
|||
dalek | ast: 95bb282 | (Tobias Leich)++ | S32-temporal/Date.t: Link stringification test to RT ticket rt.perl.org/rt3/Ticket/Display.html?id=112376 |
19:13 | |
FROGGS | yay, closed a ticket :o) | 19:15 | |
sorear | FROGGS++ | 19:16 | |
FROGGS | I guess there are about 50 tickets that already are fixed, and the half of it may already have tests | ||
masak | FROGGS++ | 19:18 | |
FROGGS | wow, so much karma^^ | ||
19:18
Moukeddar joined
|
|||
[Coke] | FROGGS: Yes, going through those not marked testneeded often finds some already-fixed gold. | 19:18 | |
FROGGS | what would I get when I even start hecking? | ||
masak | heckers traditionally sit on the second row. | 19:21 | |
19:22
rurban_ joined
|
|||
sorear | o/ masak | 19:24 | |
19:34
rurban_ left
|
|||
masak | \o | 19:36 | |
colomon | o\ | 19:39 | |
tipdbmp | Where can one find an explanation about the perl6 operators (old, meta, hyper, cross, etc.)? | 19:40 | |
sorear | S03 | 19:42 | |
tipdbmp | Right. | ||
FROGGS | tipdbmp: if you need a shiny overview: www.ozonehouse.com/mark/periodic/ | 19:43 | |
r: say [max] <2 11> | 19:46 | ||
p6eval | rakudo bf472b: OUTPUT«2» | ||
tipdbmp | Haha, this is awesome! Tnx =). | 19:47 | |
19:47
SamuraiJack left
19:48
gdey joined
19:51
zby_home joined
19:55
cognominal left
20:03
cognominal joined
20:07
azawawi joined
20:09
domidumont left
|
|||
azawawi | hi #perl6 | 20:11 | |
FROGGS | hi | 20:12 | |
masak | azawawi! \o/ | ||
sorear | o/ | ||
masak | ah, `[max] <2 11>` is from rt.perl.org/rt3/Ticket/Display.html?id=112250 | 20:14 | |
FROGGS | rite | ||
max should do the same like cmp, but I didnt find the spec where it says what to do with stringified nums | 20:15 | ||
20:16
larks left
|
|||
TimToady | n: say [max] <2 11> | 20:16 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«11» | ||
20:16
cognominal left
|
|||
masak liked blog.ezyang.com/2012/11/extremist-programming/ | 20:16 | ||
TimToady | niecza++ | ||
20:17
larks joined
|
|||
xenoterracide | method modifiers | 20:25 | |
? | |||
moritz | exist | 20:26 | |
xenoterracide | syntax? or docs? | ||
moritz | method modifier exists | 20:27 | |
xenoterracide | that would be how I'd create one? | 20:28 | |
20:28
xilo left
|
|||
TimToady | grondilu: were you planning to unbitrot the wireworld example? | 20:29 | |
moritz | xenoterracide: how should it look like? what should it do? | ||
xenoterracide | moritz: oh I don't know I was just trying to get a general concept of how I could create a before or around so I could start poking around with it. | 20:30 | |
jnthn | You don't; you write a normal method that defers (with callsame/callwith/nextsame/nextwith) | 20:31 | |
moritz | r: sub before(&m, &d) { &m.wrap({ d(); nextsame } }; class a { before method x() { say 42 }, { say 23 }; }; a.x | 20:32 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')' at line 2, near "}; class a"» | ||
moritz | r: sub before(&m, &d) { &m.wrap({ d(); nextsame } }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x | ||
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')' at line 2, near "}; class a"» | ||
jnthn | moritz: missing ) after the wrap call | 20:33 | |
moritz | r: sub before(&m, &d) { &m.wrap({ d(); nextsame }) }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x | ||
p6eval | rakudo bf472b: OUTPUT«42» | ||
moritz | r: class A { say method x() { } }; | ||
p6eval | rakudo bf472b: OUTPUT«x» | ||
moritz | r: sub before(&m, &d) { say "in before"; &m.wrap({ d(); nextsame }) }; class a { before ( method x() { say 42 }), { say 23 }; }; a.x | 20:34 | |
p6eval | rakudo bf472b: OUTPUT«in before42» | ||
moritz | hm, seems that wrap and methods don't seem to mix well | ||
20:36
zby_home left
|
|||
jnthn | moritz: You should do it with a trait | 20:37 | |
Otherwise you wrap a clone of the method (due to closure semantics), not the static compile time one that got stuck in the meta-object. | |||
moritz | oh. Closures. | 20:38 | |
jnthn | :) | ||
I'm sure one of my talks has an example of implementing method modifiers... | |||
xenoterracide | jnthn++ | ||
moritz++ | |||
jnthn | If you want traits for 'em. | ||
xenoterracide | thanks for the help guys | ||
I gotta run off to the office now | |||
grondilu | nr: class Foo { method postfix:<++> { say "tic" } }; my Foo $x; $x++; | 20:42 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«Unhandled exception: Nominal type check failed for scalar store; got Int, needed Foo or subtype at /tmp/_oysXJZ841 line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4212 … | ||
..rakudo bf472b: OUTPUT«Type check failed in assignment to '$x'; expected 'Foo' but got 'Int' in sub postfix:<++> at src/gen/CORE.setting:1612 in block at /tmp/ND6MA2WZ3A:1» | |||
grondilu | can't I redefine postfix:<++> as I want? | ||
jnthn | Yes, but not as a method. | 20:43 | |
moritz | it's a sub | ||
grondilu | oh | ||
ok | |||
FROGGS | .oO( its a trap! ) |
||
moritz | though if it's only for one type, you can just define a method succ | ||
20:43
iemelianov left
|
|||
moritz | because the default postfix:<++> delegates to .succ | 20:43 | |
grondilu | I should have guessed that. silly of me. | 20:44 | |
moritz | doc.perl6.org/language/operators | ||
20:44
xilo joined
|
|||
moritz | jnthn: fwiw bumping the parrot version to current master fixes the socket tests which have been failing on linux for quite some times | 20:48 | |
jnthn: and the readline stuff seems to be fixed too | |||
jnthn: any objections to bumping? | |||
jnthn | moritz: I was a tad nervous about doing it this side of the release. | ||
moritz: How confident are you the readline issues are gone? | 20:49 | ||
The release is tomorrow which gives little time for feedback... | |||
moritz | jnthn: I had them on my machine; I don't have them now with current parrot | ||
jnthn | OK | ||
moritz | jnthn: and pmichaud++ had constructed a pure-PIR test case, which also succeeds now | 20:50 | |
jnthn | I guess if we find they're still there in the coming days we can cut a point release or just ship an earlier Parrot for Star. | ||
Do you think we're better of bumping it? | 20:51 | ||
FROGGS | release early release often... | ||
20:51
am0c left
|
|||
jnthn is really tired and not particularly a good person to be making decisions about anything this evening... :) | 20:51 | ||
moritz | jnthn: well, I'd like to bump the version because that fixes the socket behavior | 20:54 | |
otoh the modules might have adapted to the brokenness | |||
moritz isn't fit for decisions either | 20:55 | ||
jnthn | Hm | ||
Well, modules would need fixing before the Star release. | |||
I dunno who'll be making that. | |||
If it's me, it won't be happening extremely soon due to grueling teaching/conference schedule. | |||
moritz: Anyway, I'm comfortable with whatever you feel is the Best thing. | 20:56 | ||
tipdbmp | What's the inverse of :<base>("base_number"), which converts a the number to base 10, i.e given a number in base 10 convert it to base <base> = 2 .. 26? | 20:57 | |
[Coke] | the best thing? something about lamentations. | ||
arnsholt | When's the next star release again? | 20:59 | |
tipdbmp | The sprintf "%x|o|b" could convert for base 16, 8, and 2 but what about the rest? | ||
moritz | r: say 32.base(12) | 21:00 | |
p6eval | rakudo bf472b: OUTPUT«28» | ||
FROGGS | arnsholt: I'd say in a week since the 2012.10 is 23 days old | 21:01 | |
moritz | arnsholt: typically "a few days after the compiler release, but before the end of the month" | 21:02 | |
tipdbmp | tnx =) | ||
arnsholt | Right. In that case, I'd vote for holding off on the Parrot bump until the Star release is done | ||
moritz | it's probably the more sensible thing to do | ||
arnsholt | Fixing the modules on short notice, especially with the long US weekend coming up, is probably not something anyone wants | ||
FROGGS | why not bumping parrots version right after release? | 21:03 | |
I mean, right after tomorrow | |||
moritz | that's fine too | ||
FROGGS | but hmmm | ||
if then somebody fixes a module than its crap again if you use the release version of rakudo | 21:04 | ||
cant do it right | |||
moritz | but then there's the risk that module authors use bleading rakudo and fix their modules... right | ||
so, doesn't hurt to wait until after the star release | |||
FROGGS | k | ||
can you put the rakudo version in a module like: use 5.14 ? | 21:05 | ||
moritz | no :( | ||
FROGGS | k, expected that ;o) | ||
21:06
bluescreen10 left
|
|||
FROGGS | is there a version check at all? (between modules) | 21:06 | |
moritz | no | ||
FROGGS | k | ||
moritz | we had some module versioning in pre-nom days | ||
but nobody used it, because we had no tooling for it | |||
21:08
am0c joined
|
|||
FROGGS | cool, finally the whole spectest passes | 21:10 | |
21:11
Moukeddar left
|
|||
jnthn | .oO( accidentally? ) |
21:16 | |
21:18
Kharec joined
|
|||
arnsholt | I sort of have a feeling we want to spec some kind of facility that installs and registers a file so that it can be loaded with require and friends | 21:18 | |
21:19
kurahaupo joined
|
|||
arnsholt | A touch of hedge overflow there, but oh well | 21:19 | |
FROGGS | there are file in t/spec/packages | 21:20 | |
files | |||
grondilu rewrote rosettacode.org/wiki/Wireworld#Perl_6 which was broken | 21:22 | ||
moritz | grondilu++ | 21:24 | |
lue | r: my @a = 2,3,4; my %h; %h.push(1=>@a); say %h.perl; @a = Nil; say %h.perl; | 21:41 | |
p6eval | rakudo bf472b: OUTPUT«("1" => [2, 3, 4]).hash("1" => []).hash» | 21:42 | |
lue | I'm sure I've misunderstood something here. | ||
moritz | r: my @a = 2, 3, 4; my %h; %h.push(1 => $_) for @a; say %h.perl; @a = Nil; say %h.perl | 21:44 | |
p6eval | rakudo bf472b: OUTPUT«("1" => [2, 3, 4]).hash("1" => [2, 3, 4]).hash» | ||
moritz | lue: in your code there's no operation that would copy/clone @a, so the one in the hash is the same as outside | ||
lue | Thanks moritz! (Just didn't expect => @a to act more like := than =) | 21:45 | |
21:45
popl joined
21:46
hugeAPLfan1 joined
|
|||
masak | grondilu: if you do postfix:<++> (and print the initial $world before the loop), don't you get two identical ones as output? | 21:48 | |
21:49
kaare_ left
|
|||
grondilu | masak: I don't think so. Perl6 does not distinguish ++$_ and $_++, does it? It's actually always ++$_, iirc | 21:49 | |
masak | surely not. | 21:50 | |
grondilu | r: my $x; say $x++; | ||
p6eval | rakudo bf472b: OUTPUT«0» | ||
masak | r: say my $a = 5; say $a++ for ^3 | ||
p6eval | rakudo bf472b: OUTPUT«5567» | ||
masak | r: say my $a = 5; say ++$a for ^3 | ||
p6eval | rakudo bf472b: OUTPUT«5678» | ||
grondilu | hum... Where on earth did I get this silly idea? | 21:51 | |
eval: my $x; say $x++; | |||
buubot_backup | grondilu: ERROR: Can't call method "say" on an undefined value at (eval 20) line 1. | ||
masak | grondilu: but my question was more simple than that. | ||
grondilu | eval: my $x; print $x++; | ||
buubot_backup | grondilu: 01 | ||
masak | grondilu: wasn't your *actual* output a duplication of the first state? | ||
(or did you not run the program?) | |||
eval: my $x; $x++ | 21:52 | ||
buubot_backup | masak: 0 | ||
grondilu | masak: I did run the program and pasted the exact output, iirc | ||
grondilu does it again | |||
jnthn | 'night, #perl6 | 21:54 | |
grondilu | well, there is no duplication. Not sure if it's normal. | ||
FROGGS | night jnthn | ||
21:55
geekosaur joined
21:57
benabik joined
|
|||
grondilu | masak: when defining .succ on a base class, I'm not sure postfix:<++> is supposed to be smart enough to return the instance as it was *before* the .succ call. | 21:58 | |
masak | yes, it is. | ||
grondilu | well it did not in this example. I tried twice. | ||
masak | I think the problem is that you're returning self from .succ, rather than a cloned object. | 21:59 | |
so it's you who are violating the implicit protocol of .succ | |||
grondilu | ok | ||
I tried using LEAVE but it failed for some reason | |||
masak | I don't see the connection between succ and LEAVE. | ||
grondilu | method succ { return self; LEAVE { ... } } | 22:00 | |
masak | what you want to do is return a new object, and leave self untouched. | ||
grondilu | really? | ||
masak | I have no idea why you'd use LEAVE that way. | ||
really. | |||
22:00
skids left
|
|||
benabik | 1.succ should return 2, not increment 1. | 22:00 | |
masak | .succ is a query, not a command. | ||
grondilu | oh | ||
it has no side-effect? | 22:01 | ||
masak | correct. | ||
grondilu | ok, I understand now :) | ||
22:01
am0c left
22:02
am0c joined,
azawawi left
|
|||
grondilu | ok. Now indeed it does duplicate the first step. | 22:09 | |
masak | \o/ | 22:10 | |
grondilu | this programm is still much more complicated than the P5 version. It's not quite satisfiying, imho | 22:14 | |
(but now at least it works) | |||
masak | if you want simplicity, don't put things in a class ;) | ||
grondilu | indeed | ||
22:14
ifim joined
|
|||
masak | after all, the core data structure is an array of strings. | 22:15 | |
benabik | Classes are about re-use, not simplicity. | ||
masak | roles are about re-use (in Perl 6). :) | ||
classes are about encapsulation. | |||
grondilu | aren't classes about instanciation? | 22:16 | |
masak .oO( and an almost fanatical devotion to the pope ) | 22:18 | ||
sergot | hi o/ | 22:21 | |
ifim | \o | 22:23 | |
huf | hmm, where are you from, grondilu? | 22:24 | |
ifim | I think we can agree than OOP as a whole is about dirty business | 22:25 | |
popl | We're all from the Internet here, huf. | ||
Come on down. We all float down here. | |||
huf | oh, i was just curious which language caused the c in "instanciation" | 22:26 | |
22:26
hugeAPLfan1 left
|
|||
ifim | instantiation in Spanish is instanciación | 22:28 | |
grondilu | huf: France, why? (funny it's the second time in a week someone asks me this on this channel) | 22:29 | |
huf | oh, spanish too? | ||
hmm... | |||
popl | el boligrafo # My Spanish is A++ | ||
grondilu | in french: instance => instanciation. But now, I have some doubts... | 22:30 | |
huf | what sound does the c make? | ||
grondilu | same sound | ||
popl | ssss | 22:31 | |
ifim | popl: *bolígrafo (A++)-- :p | ||
grondilu just checked the spelling of the word here: fr.wikipedia.org/wiki/Instance_(programmation) | |||
popl | ifim: My keyboard won't do that without coaxing. | ||
huf | oh okay then :) | ||
popl | ifim: Even our typing is Americanized. :D | 22:32 | |
masak | I've seen some Germans make the "instanciation" typo, too. | 22:35 | |
huf | i got confused for a second between sounds and letters, and initially wanted to know who else writes "ts" with a c | 22:36 | |
grondilu | I think slavic languages pronounce c as "ts" | 22:37 | |
ifim | instance comes from the latin word "instantia" | 22:38 | |
lue for one can't get the word "instantiation" to stop sounding weird in his head. | 22:39 | ||
grondilu checks the french spelling in an other source | |||
spider-mario | ifim: fr.wiktionary.org/wiki/instanciation | 22:40 | |
oh, another source. | |||
sorry. | |||
rurban | thanks to moritz for reminding me to bump a parrot release. not much parrot changes, pretty stable. threads need more nqp changes, so we did not include it yet, but please test nqp with threads so we can fix the remaining nqp bugs with threads. we consider threads stable enough to be merged. | 22:41 | |
grondilu | dictionary.reverso.net/french-defin...tanciation | ||
So I don't know why we use a 'c' in french. Go figure. | |||
spider-mario | well, instance. | 22:42 | |
grondilu | yeah but if it comes from 'instantia', there is no reason we could not write "instantiation" | 22:43 | |
ifim | grondilu: anglos got that word better than us | 22:44 | |
grondilu | oh I remember now. 't' can not be pronounced as 's' when it follows one conson. That's probably the reson. | ||
*reason | |||
spider-mario | I don’t think so | ||
« concurrentiel » | |||
grondilu | indeed | ||
spider-mario | (or « différentiel », which I like better) | 22:45 | |
grondilu | I totally forgot the rule then. But there is definitely one. | ||
spider-mario | (or « potentiel ») | ||
« initiation » | |||
grondilu | Might be about the number of voyels that follow 't' | ||
spider-mario | « différentiation » looks a little like “instantiation” | 22:46 | |
except for the e instead of the a | |||
grondilu | true | 22:47 | |
maybe 't' becomes 's' when followed by two voyels?? | |||
(but instantiation would be an acceptable spelling) | 22:48 | ||
*(but then) | |||
masak | I think it comes down to Latin consonant rules when conjugating verbs. | ||
FROGGS | masak: got time to look at github.com/rakudo/rakudo/pull/87 ? | 22:52 | |
masak | sure. | 22:54 | |
FROGGS | coll | ||
err, cool | |||
masak | FROGGS: is it fixing some RT ticket I should also look at? | ||
oh, nvm. | 22:55 | ||
it's linked from the commit. | |||
FROGGS | ;o) | ||
22:55
spider-mario left
|
|||
masak | is this correlated with the fix STD applied? | 22:56 | |
std: do { } for 1 | |||
p6eval | std d38bbd0: OUTPUT«ok 00:00 43m» | ||
masak | seems not. | ||
I think I'd prefer a fix that did what STD did to fix this. | |||
22:56
cognominal joined
|
|||
masak | seeing as STD's behavior has changed. | 22:57 | |
FROGGS | well, is there a do...for ? I thought not | 22:59 | |
std: repeat { } for 1 | |||
p6eval | std d38bbd0: OUTPUT«===SORRY!==="repeat" is missing its "while" or "until" at /tmp/07oxU2N9I9 line 1:------> repeat { } ⏏for 1 expecting any of: horizontal whitespace statement_controlParse failedFAILED 00:00 42m» | ||
FROGGS | at least that is/was still the same | ||
std: repeat { say 42 } for 1 | |||
p6eval | std d38bbd0: OUTPUT«===SORRY!==="repeat" is missing its "while" or "until" at /tmp/37dAw4hTTF line 1:------> repeat { say 42 } ⏏for 1 expecting any of: horizontal whitespace statement_controlParse failedFAILED 00:00 42m» | ||
FROGGS | std: do { say 42 } for 1 | ||
p6eval | std d38bbd0: OUTPUT«ok 00:00 43m» | ||
FROGGS | w/e | 23:00 | |
masak | I think that's correct, actually. 'do' just makes an expression out of a block or statement. | ||
FROGGS | r: do { say 42 } | 23:01 | |
p6eval | rakudo bf472b: OUTPUT«42» | ||
23:01
wamba left
|
|||
FROGGS | r: do { say 42 } while my $i++ < 5 | 23:01 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Unable to parse expression in circumfix:sym<ang>; couldn't find final '>' at line 2, near ""» | ||
23:02
dedis0 joined
|
|||
FROGGS | r: my $i = 0; do { say 42; $i++ } while $i < 5 | 23:02 | |
p6eval | rakudo bf472b: OUTPUT«===SORRY!===Unsupported use of do...while; in Perl 6 please use repeat...whileat /tmp/eKmHVqwkQC:1» | ||
FROGGS | n: my $i = 0; do { say 42; $i++ } while $i < 5 | 23:04 | |
p6eval | niecza v22-36-g19fa03a: OUTPUT«===SORRY!===Unsupported use of do...while; in Perl 6 please use repeat...while at /tmp/EvkrdgzwYi line 1 (EOF):------> $i = 0; do { say 42; $i++ } while $i < 5⏏<EOL>Parse failed» | ||
23:05
aloha joined
|
|||
masak | 'night, #perl6 | 23:06 | |
FROGGS | gnight | 23:07 | |
23:11
kurahaupo left,
kurahaupo joined,
kurahaupo left
23:17
lue joined
23:21
kurahaupo joined
23:24
gdey left
23:28
kurahaupo left
23:30
kurahaupo joined,
stopbit left
23:35
skids joined
23:42
MayDaniel left
23:49
Kharec left,
FROGGS left
23:54
kurahaupo left
23:55
kurahaupo joined
|