|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
|
00:04
Adriaaan left
00:07
Alina-malina joined
00:15
Alina-malina left
00:21
berekuk left
00:24
rurban joined
00:47
treehug88 left
00:54
cognominal left
00:55
jercos joined
00:59
cognominal joined
01:02
araujo joined
01:06
dayangkun left
01:08
berekuk joined
01:13
Ven left
01:21
jnap left
01:25
btyler joined
01:27
jnap joined
01:35
treehug88 joined
01:37
treehug88 left
01:38
berekuk left
01:46
xenoterracide left
01:52
jnap left
02:03
adu joined
02:07
araujo left
02:11
Sqirrel left,
Sqirrel joined
02:14
Alina-malina joined
02:22
jeffreykegler joined
02:25
adu left
02:46
ilbot3 joined,
kaleem joined
02:49
skids left
02:56
skids joined
03:04
skids left
03:05
skids joined
03:10
arlinius left
03:15
pdcawley left
03:18
pdcawley joined
03:26
adu joined,
rurban left
03:30
skids left
03:31
skids joined
03:35
daniel-s left
03:37
sorear joined
03:38
immortal joined,
skids left,
skids joined
03:39
erkan left
03:53
jeffreykegler left
04:14
kaleem left
04:23
jnthn left,
jnthn joined
04:24
araujo joined
04:25
raiph left
04:30
Pleiades` joined
04:33
adu left
04:34
labster joined
04:38
rurban joined
04:41
noam joined
04:53
noam left
05:01
adu joined
05:02
rurban left
05:04
araujo left
05:06
xenoterracide joined
05:10
adu left
05:15
skids left,
BenGoldberg left
05:22
telex left
05:24
telex joined
05:27
Alina-malina left,
Alina-malina joined
05:28
[Sno] left
05:35
adu joined
05:38
Alula left
05:39
Psyche^ left
05:40
Alula joined,
Psyche^ joined
05:51
arlinius joined
06:01
btyler left
|
|||
| moritz | good morning, #perl6 | 06:31 | |
| raydiak | \o moritz | 06:34 | |
|
06:36
kaleem joined
06:43
[Sno] joined
06:46
adu left,
darutoko joined
06:52
adu joined
06:59
SamuraiJack_ joined
07:01
adu left
07:13
mattp__ joined
07:15
mattp_ left
|
|||
| raydiak | moritz: did anything change about JSON::Tiny in the past month which could possibly cause arrays of pairs to be returned where there should be arrays of hashes? | 07:17 | |
|
07:18
dmol joined
07:22
xenoterracide left,
xenoterracide joined
07:26
FROGGS joined
07:28
xenoterracide left
|
|||
| raydiak | moritz: ignore that, the problem has to be elsewhere | 07:30 | |
| FROGGS | o/ | 07:31 | |
| raydiak | \o | ||
|
07:33
yakudza left
07:36
adu joined
07:46
xenoterracide joined
07:51
xenoterracide left
07:53
xenoterracide joined
|
|||
| tadzik | raydiak: yes | 07:54 | |
| panda had the same issue, but it turned out to be lacking an update | 07:55 | ||
|
07:57
adu left
|
|||
| raydiak | tadzik: thanks, that's exactly what it was...had a stale JSON::Tiny floating around in a forgotten place, masking out the new one | 07:58 | |
|
07:58
zakharyas joined
|
|||
| masak | morning, #p6 | 07:58 | |
|
07:58
adu joined
|
|||
| raydiak | morning masak | 07:58 | |
| masak | and a fine morning it is! | 07:59 | |
| diakopter | <-agrees | ||
|
08:06
dylanwh joined
|
|||
| dylanwh | 6 | 08:07 | |
| diakopter | sometimes 6 anyway | 08:10 | |
| dylanwh | that was me moving this to position 6, which seems fitting | 08:12 | |
| moritz | knight X 6 | ||
| moritz killed dylanwh | |||
| :-) | 08:13 | ||
| mathw | morning | 08:18 | |
| diakopter | mr walton | 08:19 | |
| mathw | jnthn: Excellent fosdem talk! Really positive picture of Perl 6 :) | ||
| o/ diakopter | |||
| FROGGS | mathw: and the good thing about that picture is that it is the truth :o) | 08:20 | |
| masak | what a strike of fortune! | 08:21 | |
| but yeah, even though I *know* all the inside-echo-chamber news that jnthn writes about in his talks, reading about the way he phrases them always puts me in a better mood :> | 08:22 | ||
| mathw | it'd be a pretty awful talk if it wasn't true :) | ||
| moritz agrees 100% with masak | |||
| mathw | I'm not so much in the echo chamber these days so it was good for me to get such a good overview - although as it turns out, I knew about most of that as it was | 08:23 | |
| The surprise for me was the constructor parameters field assignment thingummy including destructuring | |||
| diakopter agrees, but much of the debugger interface was news to me | |||
| mathw | I just saw the slides so I didn't get that bit | ||
| Debuggable grammars makes me very happy though | 08:24 | ||
| diakopter | at least, I think it was the debugger | ||
| the audio wasn't there at that point | |||
|
08:25
eiro left
|
|||
| diakopter | oh noes, not the netsplits | 08:26 | |
| masak .oO( come back, eiro! don't be so split! ) | |||
|
08:28
kaleem left
08:31
kaleem joined
08:40
adu left
08:50
adu joined
08:53
SamuraiJack_ left,
berekuk joined
09:09
adu left,
dakkar joined
09:22
Ven joined
|
|||
| Ven | m: my $a = given 1 { when 1 { 'a'; } }; $a.say | 09:22 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!===Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control wordat /tmp/RrTDpY8e_K:1------> my $a = given⏏ 1 { when 1 { 'a'; } }; $a.sayUnexpected block in in…» | ||
| Ven | m: my $a = do given 1 { when 1 { 'a'; } }; $a.say | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«a» | ||
| Ven | m: my $a = do given 1 { when 1 { 'a'; } }; $a.perl.say | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«"a"» | ||
| Ven | Yay ! | ||
| m: my $a = +do given 1 { when 1 { true; } }; $a.perl.say | |||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/oV8OQoNgRrUndeclared routine: true used at line 1» | ||
| Ven | m: my $a = do given 1 { when 1 { true; } }.Int; $a.perl.say | 09:23 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/hSxVsdrqC_Two terms in a rowat /tmp/hSxVsdrqC_:1------> my $a = do given 1 { when 1 { true; } }⏏.Int; $a.perl.say expecting any of: argument list …» | ||
| Ven | m: my $a = do given 1 { when 1 { true; } } ==> Int; $a.perl.say | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/O3b9kcWxU4Sorry, do not know how to handle this case of a feed operator yet.at /tmp/O3b9kcWxU4:1------> do given 1 { when 1 { true; } } ==> Int⏏; $a.perl.say exp…» | ||
| Ven | m: my $a = Int do given 1 { when 1 { true; } }; $a.perl.say | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/F4GNrlgS12Two terms in a rowat /tmp/F4GNrlgS12:1------> my $a = Int ⏏do given 1 { when 1 { true; } }; $a.perl expecting any of: postfix infix …» | ||
| synopsebot | Link: perlcabal.org/syn/S12.html#line_1 | ||
| Ven | m: my $a = Int <== do given 1 { when 1 { true; } }; $a.perl.say | 09:24 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/THEgHklABgSorry, do not know how to handle this case of a feed operator yet.at /tmp/THEgHklABg:1------> Int <== do given 1 { when 1 { true; } }⏏; $a.perl.say exp…» | ||
| Ven | Ha, not sure how to do that, then. | ||
| diakopter | how to do what? :) | 09:25 | |
| Ven | diakopter: convert the result of a `do given` from Bool to Int | ||
| diakopter | m: my $a = +do given 1 { when 1 { True; } }; $a.perl.say | 09:26 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«1» | ||
| Ven | OH The error was about TRUE ... My good ! diakopter++, this'll teach me to read error messages properly ... | ||
| diakopter | actually the error was about the Int | 09:27 | |
| the + is what you wanted | |||
| (but yeah True is initial upper) | |||
| Ven | diakopter: No, no. I tried it too : "[10:23] <Ven> m: my $a = +do given 1 { when 1 { true; } }; $a.perl.say" | ||
| moritz | wtf is "Int <== do ... " supposed to mean? | ||
| Ven | moritz: backwards ==> :D | 09:28 | |
| there exists |> and <| in f# | |||
| moritz | and what would ==> do? :-) | ||
| Ven | m: say ((1, 2) ==> elems) | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«2» | ||
| Ven | the same thing it does currently | ||
| diakopter | Ven: ah, I missed the first one there | ||
| moritz | Ven: and piping it into a type object? coercion? | 09:29 | |
| Ven | moritz: yes | ||
| moritz: ah, I thought `Int('5')` worked, my bad | 09:30 | ||
| diakopter | m: say '5'.Int | 09:31 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«5» | ||
| diakopter | m: say 'Inf'.Int | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!===Cannot coerce Inf or NaN to an Int» | ||
| diakopter | m: say '1/0'.Int | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!===Divide by zero» | ||
| diakopter | <- surproised by that last one | ||
| p: say '1/0'.Int | 09:32 | ||
| camelia | rakudo-parrot 44ab3c: OUTPUT«Divide by zero in method sink at gen/parrot/CORE.setting:12235 in method BUILDALL at gen/parrot/CORE.setting:918 in method bless at gen/parrot/CORE.setting:838 in method new at gen/parrot/CORE.setting:823 in method new at gen/parrot/C…» | ||
| Ven | @!grid = [[0, 1].pick xx $dim] xx $dim; <= Oh wow I love this | ||
| moritz | m: say Int(5) | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«5» | ||
| moritz | Ven: oh, it does. But it might be magical :-) | ||
| Ven | yeah | 09:33 | |
| so I expected '5' ==> Int to work :p | |||
| moritz | Ven: you can write that as [[0, 1].roll($dim)] xx $dim | ||
| diakopter | does PErl 6 have a "try stuff until it works" operator | ||
| Ven | moritz++ | ||
| diakopter | m: say 'N.B.' HANDWAVE 77 | 09:34 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/9OaiRa3bRbTwo terms in a rowat /tmp/9OaiRa3bRb:1------> say 'N.B.' ⏏HANDWAVE 77 expecting any of: postfix infix stopper infix or met…» | ||
| moritz | diakopter: loop { try stuff() } | ||
| diakopter | hhe. | ||
| I meant at parse/compile time :P | 09:35 | ||
|
09:35
berekuk left
|
|||
| moritz | m: my $str = 'N.B.' HANDWAVE 77; while ! try eval $str { $str.=chop } | 09:36 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/GK6cSDbSpATwo terms in a rowat /tmp/GK6cSDbSpA:1------> my $str = 'N.B.' ⏏HANDWAVE 77; while ! try eval $str { $st expecting any of: postfix i…» | ||
| moritz | m: my $str = 'N.B.' HANDWAVE 77; while ! try { eval $str } { $str.=chop } | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/6q7KPlR8QTTwo terms in a rowat /tmp/6q7KPlR8QT:1------> my $str = 'N.B.' ⏏HANDWAVE 77; while ! try { eval $str } { expecting any of: postfix i…» | ||
| moritz | m: my $str = q['N.B.' HANDWAVE 77]; while ! try { eval $str } { $str.=chop } | ||
| camelia | ( no output ) | ||
| moritz | diakopter: there you go. Wasn't hard to do :-) | 09:37 | |
| diakopter | ha | ||
|
09:37
SamuraiJack_ joined
|
|||
| moritz | m: my $str = q['N.B.' HANDWAVE 77]; my $res; while ! try { $res = eval $str } { $str.=chop }; say $res | 09:38 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«N.B.» | ||
|
09:39
yakudza joined
|
|||
| masak | moritz: 'eval' is deprecated. please shout 'EVAL' :P | 09:47 | |
| diakopter | error, there was a value. | 09:48 | |
| moritz | masak: old habits die hard | ||
| Ven | `-->`, `of` and `returns` are all the same, right ? | 09:50 | |
| m: 1 ==> &prefix<?> ==> say | |||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/lEJZncjNBIUndeclared name: &prefix used at line 1» | ||
| Ven | m: 1 ==> &:prefix:<?> ==> say | 09:51 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/NtNgqHpP2ECannot use placeholder parameter &:prefix:<?> in the mainlineat /tmp/NtNgqHpP2E:1------> 1 ==> &:prefix:<?>⏏ ==> say» | ||
| diakopter | r: say: .die: .hard | ||
| camelia | ( no output ) | 09:52 | |
| Ven | rosettacode.org/wiki/Conway's_Game_...ife#Perl_6 | ||
| method alive (Int $row, Int $col --> Bool) # it doesn't typecheck for me here because it actually returns an Int | |||
| Oh, he's only storing True and False | 09:53 | ||
| even then :( | 09:54 | ||
| diakopter | I think there's a way spec'd to do result coercions in that signature | 09:55 | |
| but I think it's not implemented | |||
| masak | moritz++ # replying to inform80 | ||
| m: say "" ~~ / '' / | 09:56 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«「」» | ||
| masak | m: say "」" ~~ / '」' / | 09:57 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«「」」» | ||
| masak | that, IMO, is not the right output. | ||
| masak submits rakuodbug | |||
| diakopter | what should it be | 09:58 | |
| masak | 「\」」 , perhaps? | ||
| diakopter | :P | 09:59 | |
| maybe the .perl of it.. | |||
| masak | I'd be fine with anything that distinguishes a '」' in the match from the closing quote delimited. | ||
| delimiter* | |||
| raydiak | what should be overloaded to change when/how a class flattens? tried flattens, flat, and list, to no avail | 10:02 | |
| moritz | raydiak: for the case of interpolating into signatures, methods FLATTENABLE_LIST and FLATTENABLE_HASH (not specced) | 10:03 | |
| raydiak: for normal array iteration? no idea | |||
| Ven | Uuuh :( | 10:04 | |
| m: my @a = [[True, False].roll 3] xx 3; @a.perl.say | |||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/i3TdCI2mQQTwo terms in a rowat /tmp/i3TdCI2mQQ:1------> my @a = [[True, False].roll ⏏3] xx 3; @a.perl.say expecting any of: method arguments p…» | ||
| Ven | m: my @a = [[True, False].roll(3)] xx 3; @a.perl.say | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Array.new([Bool::True, Bool::False, Bool::False], [Bool::True, Bool::True, Bool::False], [Bool::False, Bool::False, Bool::False])» | ||
| moritz | masak: re 「」」, I disagree that it's a bug | 10:05 | |
| Ven | That first is getting converted to an Int at some point | ||
| I'm already getting bitted by containers modifications it seems :( | |||
| moritz | masak: it's meant to be human-readable output. If you want something that's unambiguous in 100% of all cases, use .perl | ||
| masak | moritz: there is that. | 10:06 | |
| Ven | m: class A { has @!a; method BUILD(Int $x) { @!a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(3); say ~$a1; | 10:07 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«Default constructor for 'A' only takes named arguments in method new at src/gen/m-CORE.setting:830 in method new at src/gen/m-CORE.setting:825 in method dispatch:<.=> at src/gen/m-CORE.setting:1202 in block at /tmp/1Jew3QPhwN:1» | ||
| moritz | masak: and if we add backlashes (or anything, really) to disambiguate, we have to escape the escape char | ||
| masak: which makes the more common cases harder to read | |||
| Ven | m: class A { has @!a; method BUILD(Int :$x) { @!a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(x => 3); say ~$a1; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Array.new("x", "x", "x")» | ||
| masak | moritz: agree. rejecting ticket. | 10:08 | |
| moritz | masak++ | ||
| Ven | m: class A { has @.a; method BUILD(Int :$x) { @.a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(x => 3); say ~$a1; my $a2 = $a1.clone; $a2.a[0] = 1; say ~$a1; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Array.new("x", "x", "x")Array.new(1, "x", "x")» | ||
| Ven | damn it :(. I need a deep clone | ||
| moritz | Ven: beware that .clone is not a deep clone | ||
| Ven | moritz: yep. Is there a deep clone ? | 10:09 | |
| moritz | Ven: no | ||
| Ven | so I need to multi method new to accept either my dimension argument or the current map ? | 10:10 | |
| moritz | Ven: for example | ||
| Ven | That doesn't seem very clean. Can I do, let's say, `self.clone(some props I wanna modify here)` ? | ||
| m: class A { Int $.a; method doclone { self.clone(a => $.a.succ) } }; my A $a .= new; $a.doclone.perl.say; | 10:12 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/yoTWygezZgTwo terms in a rowat /tmp/yoTWygezZg:1------> class A { Int ⏏$.a; method doclone { self.clone(a => $. expecting any of: postfix infi…» | ||
| timotimo | o/ | ||
| Ven | what | ||
| timotimo | what's new, friends? | 10:13 | |
| Ven | o/ timotimo | ||
| Not sure how to do that then | 10:15 | ||
| raydiak | moritz: thanks anyway, but the normal array case is my problem...trying to get @vecs.push(vec3) to dwim when class vec3 is Array, instead of adding ".item" everywhere | 10:16 | |
| \o timotimo | |||
| masak | timotimo! \o/ | 10:20 | |
|
10:21
fhelmberger joined,
fhelmberger left,
Adriaaan joined,
fhelmberger joined
|
|||
| Ven | "Passing an object candidate to Mu.bless is deprecated" mmh ? | 10:23 | |
| Getting code from rosettacode.org/wiki/Conway's_Game_...ife#Perl_6 but the .bless call seems deprecated | 10:24 | ||
| raydiak | Ven: .bless is still around, just the first "*," arg needs to be removed | 10:26 | |
| Ven | raydiak: oh ! thanks ! | 10:27 | |
| raydiak | you're welcome | ||
|
10:28
Adriaaan left
|
|||
| masak | please also update the RC entry ö= | 10:32 | |
| ;) | |||
|
10:35
Adriaaan joined
|
|||
| Ven | I'm getting some values randomly reset, uuh | 10:37 | |
|
10:40
xenoterracide left
|
|||
| Ven | m: [1, 2].map(* > 1 ?? "a" !! "b") | 10:41 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«Unhandled exception: Method 'count' not found for invocant of class 'Str' at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/BOOTSTRAP.moarvm::4294967295) from src/gen/m-CORE.setting:7322 (/home/p6eval/rakudo-inst-2/languages/perl…» | ||
| Ven | wat | ||
| timotimo | could it be that ?? !! isn't autocurried correctly? | 10:42 | |
| Ven | oh, my first bug :p | ||
| timotimo | meh, i don't have a perl6 built right now | ||
| Ven | timotimo: I'll be looking for a workaround. But first, lunch ! | ||
| timotimo | m: [1, 2].map({$^a > 1 ?? "a" !! "b"}) | 10:44 | |
| camelia | ( no output ) | ||
|
10:44
bjz left
|
|||
| timotimo | it would appear to be the case :\ | 10:44 | |
| i've already sacrificed a bit of my sanity the last time i looked into autocurrying | 10:46 | ||
| moritz | the question is: should ?? !! be auto-curried? | 10:48 | |
| masak | don't see why not. | ||
| diakopter | BOOTSTRAP.moarvm::4294967295 | ||
| masak | it really only needs to be transparent to the currying that already happened with * > 1 | ||
| diakopter | that's a big file | 10:49 | |
| timotimo | diakopter: you suspect something's very wrong? | ||
| diakopter | no :) | ||
|
10:49
xenoterracide joined
|
|||
| masak | diakopter: curious that it's *exactly* 2**32 - 1 | 10:50 | |
| diakopter | only a few thousand wrong | ||
| timotimo | moritz: i'm sure it should be autocurried at least in the very first slot of ?? !! | ||
| masak | what timotimo said. | ||
| timotimo | the other two, i'd be willing to be convinced it shouldn't | ||
| i think there's a lot of WAT to only autocurrying the first parameter | |||
| moritz doesn't want to convince anybody, just want to raise the question | |||
| timotimo | hm, actually | 10:51 | |
| if you have something like $foo ?? * !! * - 1 | |||
| you would probably be surprised to see that it generates a closure with *two* arguments | |||
| moritz | aye | 10:52 | |
| and you might actually want to return a closure | |||
| timotimo | and folding these two into one argument seems like a pretty huge WAT | ||
| moritz | aye | ||
| timotimo | ?? !! thunks, right? | 10:53 | |
| maybe the rule should be "if it thunks, it won't autocurry", in which case we'll have to consider xx for a moment, too | |||
| moritz | note that xx doesn't autocurry anyway, because xx * just means "infinitely many" | 10:55 | |
| timotimo | oh, that's right & good | ||
| er, but what about the left side? | 10:56 | ||
| masak | m: say (* xx 5)("foo") | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block at /tmp/z1PdCsXcv1:1» | ||
| timotimo | p: my &b = * xx 10; say b("a"); | ||
| camelia | rakudo-parrot 44ab3c: OUTPUT«Type check failed in assignment to '&b'; expected 'Callable' but got 'List' in block at /tmp/t7vdY6oOOi:1» | ||
| masak | it doesn't. | ||
| timotimo | p: say (* xx 10).perl; | ||
| camelia | rakudo-parrot 44ab3c: OUTPUT«(*, *, *, *, *, *, *, *, *, *).list» | ||
| masak is seeing stars | |||
| timotimo | should it, though? | ||
| nobody seems to want to step forward :) | 11:00 | ||
| luckily, in most situations, an explicit closure with implicit arguments is just a few characters more to type and a tiny bit less pretty to look at | 11:01 | ||
| (though always a lot cleaner and simpler to understand) | |||
|
11:03
sqirrel_ joined
|
|||
| masak | timotimo: I... I think it should, unless there is an overwhelming reason it shouldn't. | 11:03 | |
| timotimo: so the LHS of infix:<x> and infix:<xx> should probably autocurry, yes. | |||
| as well as the first argument to infix:<?? !!> | |||
|
11:04
Adriaaan left
11:06
xenoterracide left
|
|||
| timotimo | should this be a spec ticket? or should we just highlight larry? | 11:08 | |
| diakopter | r: say (* xx 50000).perl | 11:09 | |
| camelia | rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«(timeout)» | ||
| timotimo | obviously the result of * xx 50000 should be a closure with 50000 arguments! | 11:10 | |
| diakopter | :) | ||
| Ven | I definitely don't think (* xx 5) should be totally different from ($^a xx 5) | 11:18 | |
| that seems very confusing | |||
| jnthn | Ven: Uh, those have to be different. A placeholder parameter is *always* scoped to the current block. Parens don't introduce a block. | 11:22 | |
| (*+2) is not ($^a+2), it's {$^a+2} though. | |||
| FROGGS | hi jnthn | 11:23 | |
| jnthn | o/ | ||
| jnthn is about to take his class to lunch :) | |||
| om nom nom students | |||
| uh, I mean... | |||
| timotimo | ohai jnthn :) | ||
| Ven | definitely | ||
| some errors are pretty cryptic. "use of uninitialized value of type Int in numeric context" gives file:line "src/gen/CORE.setting:655" | 11:24 | ||
| timotimo | yeah, that's unhelpful | 11:25 | |
| i'm pretty sure there is or was something in place to keep that from happening? | 11:26 | ||
| Ven | add ALL the `say "alive"`s | ||
| timotimo | as in, it should give the file/line of the thing using whatever is causing the problem | ||
|
11:26
Adriaaan joined
|
|||
| Ven | actually I didn't need that complicated stuff ... damn | 11:30 | |
| timotimo | did you try out Rakudo::Debugger yet? | ||
| Ven | timotimo: perl6-debug can't parse my file :( | 11:31 | |
| timotimo | huh? | ||
| Ven | `do given ... { when` gives an error on the `when` | ||
| timotimo | what's the error you get? | ||
| that's weird, it re-uses the existing grammar | |||
| Ven | just running perl6 instead of perl6-debug works though | 11:32 | |
| timotimo | so in theory everything that rakudo parses, it should be able to parse :( | ||
| Ven | well :( | ||
| no debug for me this time it'd seem | 11:34 | ||
| timotimo | can you do a sanity check with the debugger on any random piece of code to see if it works at all? | ||
|
11:35
Alina-malina left
|
|||
| Ven | timotimo: sanity check passes | 11:36 | |
|
11:36
Alina-malina joined
|
|||
| timotimo | if you have any spare time, you could try to golf the parse problem and open a ticket on jnthn/rakudo-debugger | 11:38 | |
| that would be quite nice | |||
| FROGGS | since it is included in rakudo it would be a rakudobug | ||
| Ven | mmh hard to isolate :( | 11:42 | |
| OK reproduced it | 11:45 | ||
| m: given 5 { when 1 { 5 ~~ Int } } | |||
| camelia | ( no output ) | ||
| Ven | Although, I have rakudo star latest win, that might've been fixed in the latest revisions. | 11:46 | |
| This snippet works with `perl6` but not `perl6-debug` | |||
| timotimo: can you confirm that on your end maybe ? | 11:47 | ||
| timotimo | i'll build my stuff, hold on | ||
| Ven | oh thanks | ||
|
11:47
sqirrel_ left
|
|||
| timotimo | actually, don't hold your breath :P | 11:48 | |
| timotimo gets distracted | |||
| Ven | I'll try to fix my script then :p | 11:51 | |
| m: class A { has @!a; method BUILD { @!a = [1, 2, 3]; }; method foo { self.bar }; method bar { @!a.perl.say; } }; my A $a .= new; $a.foo; | 11:53 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Array.new([1, 2, 3])» | ||
| Ven | wut | 11:55 | |
| moritz | why does thsi surprise you? | 11:58 | |
| Ven | because I don't get the same behavior D: | ||
| m: class A { has Str $!s; method build(Str $a) { A.bless(s => $a x 2); } method build(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl; | 11:59 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/_pK2t_vnt7Two terms in a rowat /tmp/_pK2t_vnt7:1------> build(Str $a) { A.bless(s => $a x 2); } ⏏method build(Int $a) { A.new("a" x $a);  expecting any of: …» | ||
| Ven | m: class A { has Str $!s; method build(Str $a) { A.bless(s => $a x 2); }; method build(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/MIN5JMNOHOPackage 'A' already has a Method 'build' (did you mean to declare a multi-method?)at /tmp/MIN5JMNOHO:1------> » | ||
| Ven | m: class A { has Str $!s; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«A.new()» | ||
| Ven | moritz:That's my problem | 12:00 | |
| timotimo | build is not supposed to bless | ||
| Ven | timotimo: it's new | ||
|
12:00
sqirrel_ joined
|
|||
| timotimo looks | 12:00 | ||
| Ven | I made a typo the first time. Last test is failing test case | ||
| timotimo | does the autogenerated build actually assign to $!s on its own? | 12:01 | |
| moritz | no, not to private attributes | ||
| timotimo | that'd be what causes your trouble in that case | 12:02 | |
| Ven | moritz: timotimo: So I need to overload to BUILD(:$!grid) ? | 12:03 | |
| moritz | Ven: doc.perl6.org/language/objects#Obje...nstruction | ||
| yes | |||
| timotimo | moritz: is that the thing you're annoyed about, btw? | ||
| moritz | timotimo: no | ||
| timotimo: one thing that annoys me is that if you write a custom BUILD method, you have to take care of initialization *all* attributes in the class | 12:04 | ||
| Ven | m: class A { has Str $!s; submethod BUILD(:@!grid) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/lReyZGGKl_Attribute @!grid not declared in class Aat /tmp/lReyZGGKl_:1------> ethod new(Int $a) { A.new("a" x $a); } }⏏; my A $a .= new(5); say $a.perl; expecting…» | ||
| Ven | m: class A { has Str $!s; submethod BUILD(:$!s) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«A.new()» | ||
| Ven | moritz: ^ so, not sure | ||
| oh wait | 12:05 | ||
| m: class A { has Str $!s; submethod BUILD(:$!s) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); }; submethod bug { $!s.perl.say } }; my A $a .= new(5); say $a.perl; $a.bug; | 12:06 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«A.new()"aaaaaaaaaa"» | ||
| Ven | yeah okay, it doesn't show up in the .new() arguments but it's there nevertheless | ||
| moritz | of course it doesn't show up | ||
| how would .perl know which arguments you passed to .new? | |||
| timotimo | moritz: so if you could get a BUILDSLAVE that gets called with the "rest of the kwargs" or something, that'd be fine? | 12:07 | |
| moritz | timotimo: finer, yes | 12:08 | |
| timotimo: Moose also has a nice system where you can provide a method that turns a list of positional arguments into pairs for the actual constructor | |||
| Ven | moritz: it could store it D: | 12:09 | |
| But anyway, got it working. moritz++ timotimo++ | |||
| Just a bit slow ... | |||
| timotimo | yeah, slow is still the normal way for perl6 programs to run :( | ||
| moritz | it wouldn't reproduce the original object if a mutator was called in the mean time | ||
| Ven | gist.github.com/Nami-Doc/7fe3b9744d369c9450c5 -- That's what I have so far | 12:10 | |
| timotimo | what does that mean? | 12:11 | |
| Ven | timotimo: that's fine though :) | 12:12 | |
| moritz | Ven: if you allow setting of attributes through the constructor, why make them private? | ||
| Ven | I'm happy I got it working | ||
| moritz: just an old habit of not making something public unless there's a need to access it from outside | |||
| changed anyway | 12:13 | ||
| I need something a bit more consistent, but I'm already happy it works (kinda) ^o^ | 12:15 | ||
| is there an equivalent -MO=Deparse ? | 12:26 | ||
| timotimo | not yet, no | 12:30 | |
| but you can get the ast with --target=ast or --target=optimize | |||
|
12:30
SamuraiJack_ left,
SamuraiJack_ joined
|
|||
| Ven | timotimo++ # More than what I need ! | 12:32 | |
|
12:33
benabik left
|
|||
| timotimo | :) | 12:33 | |
| and --target=parse will give you the parse tree of your program | |||
| Ven | timotimo: This gives me "could not locate compile-time value for symbol Block" | 12:39 | |
| timotimo | oh, whoops | 12:42 | |
| that's not helpful | |||
|
12:43
locsmif_work joined
12:44
atroxaper joined
|
|||
| Ven | m: given 5 { .succ.say; .succ.succ.say; } | 12:45 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«67» | ||
| Ven | Okay, so I don't need smalltalk's cascades | ||
| timotimo | i don't know what this cascades thing is | ||
| but it's probably like visual basic's "with" blocks? :P | |||
| Ven | yeah | 12:46 | |
| also like dart's .. | 12:47 | ||
|
12:55
SamuraiJack_ left,
xinming joined
12:56
SamuraiJack_ joined
12:59
xinming_ left
|
|||
| timotimo | i actually can't build panda | 13:01 | |
| tadzik | why? | 13:02 | |
|
13:04
daniel-s_ joined
|
|||
| timotimo | good q | 13:06 | |
| i'm cleaning out everything right now | |||
|
13:07
denis_boyun joined
13:09
sergot_ is now known as sergot
13:12
BenGoldberg joined
|
|||
| timotimo | tadzik: gist.github.com/timo/bb7b0b95d96b28e29bfe | 13:19 | |
| tadzik | ah, hm | 13:22 | |
| old rakudo? | |||
| it was related to JSON::Tiny update | |||
| is panda fresh? | |||
| timotimo | oh | 13:25 | |
| is now | |||
| sorry for the trouble | |||
|
13:26
kaleem left
|
|||
| tadzik | :) | 13:28 | |
| timotimo | i wonder if QAST is a good data format to implement mutation testing upon | 13:30 | |
| tadzik | ooh :) | 13:31 | |
| timotimo | not saying i want to implement that ... | ||
| oooh, 10 more mentor organisations for GSoC this year | 13:32 | ||
| and 10% more moneys | |||
| (because it's their 10th anniversary) | |||
| wonderful news for open source <3 | |||
| i must admit, google does a bunch of awesome things for open source communities everywhere | |||
|
13:33
jnthn left,
jnthn joined
13:40
eiro joined
|
|||
| FROGGS | timotimo: that is how they buy our souls :o) | 13:41 | |
| masak | mmm, fresh panda... | 13:42 | |
| colomon | err… so once I've installed Rakudo::Debugger, what am I supposed to get? I seem to have executables named perl6-debug.c and perl6-debug.nqp, but no perl6-debug | 13:45 | |
| ? | |||
| timotimo | colomon: you should have perl6-debug | ||
| you may need to check with Build.pl in the rakudo-debugger repository | |||
| colomon | I'm installing it via panda, for what that's worth | 13:46 | |
| timotimo | that's the correct way to install it | ||
| huh. now i get a perl6-debug-m | 13:47 | ||
| but my "perl6" is a perl6-p | |||
| tadzik | hah | 13:48 | |
| timotimo | i wonder why perl6-debug-m doesn't get chmod +x | 13:49 | |
| colomon | how does that work? I'm looking at Build.pm right now, and it doesn't seem to know anything but parrot | 13:50 | |
| ? | |||
| tadzik | I think panda does +x for all the things that come from bin | ||
| timotimo | yeah, but perl6-debug-m comes from rakudo | ||
| rather than panda | |||
| tadzik | oh | ||
| brother | the | 13:52 | |
| timotimo | maybe create-moar-runner should be taught to set +x | ||
| FROGGS | colomon: forget about jnthn's repo, it is in rakudo itself | 13:53 | |
| colomon | FROGGS: errrmm… so what is the correct procedure to build the debugger? | ||
| FROGGS | colomon: I would suspect that installing rakudo should suffice | 13:54 | |
| timotimo | it ... is? | ||
| jnthn | timotimo: (doesn't get chmod +x) 'cus I did it, and forgot taht, 'cus it don't matter on Windows. | ||
| timotimo | even the frontend? | ||
| colomon | FROGGS: I did git pull, and rebuilt, and I don't have a perl6-debug executable in my path, I don't think.... | 13:55 | |
| … hmmm, perl6-debug-m is there | 13:56 | ||
| but not an executable. | |||
| FROGGS | froggs@TL02L-R8RXTCW-linux:~$ which perl6-m | ||
| /home/froggs/dev/nqp/install/bin/perl6-m | |||
| froggs@TL02L-R8RXTCW-linux:~$ ll /home/froggs/dev/nqp/install/bin/perl6-debug* | |||
| -rw-r--r-- 1 froggs froggs 315 Feb 4 21:20 /home/froggs/dev/nqp/install/bin/perl6-debug-m | |||
| correct | |||
| jnthn | The debugger stuff is in a transitional state. I started getting the perl6-debug-* being built in the Rakudo build | ||
| But I only did it for Moar so far | |||
| colomon was hoping for perl6-debug-p | |||
| timotimo | ah, that explains it | ||
| jnthn | I didn't have time to do -j and -p yet | ||
| colomon | jnthn++ | ||
| jnthn | I needed -m for my FOSDEM talk which is why it got done first ;) | 13:57 | |
| FROGGS | well, should not be too hard to fix it | ||
| colomon 's track record of getting the debugger to work continues to be terrible. :) | |||
| jnthn | And then the rakudo-debugger repo is just going to be a normal Perl 6 module that supplies the UI. | ||
| And so should be a completely easy Panda install | |||
|
13:58
daniel-s_ left
14:00
kaare__ left
14:01
jnap joined
14:06
Adriaaan left
14:11
denis_boyun left
|
|||
| Ven | m: my %a = b => 1; %a['b'].say; | 14:12 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: *%_) in method Real at src/gen/m-CORE.setting:1013 in method Real at src/gen/m-CORE.setting:3537 in method Real at src/gen/m-CORE.setting:1013 in sub infix:<<> at src/gen/m-CO…» | ||
| Ven | m: my %a = b => 1; say %a['b']; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: *%_) in method Real at src/gen/m-CORE.setting:1013 in method Real at src/gen/m-CORE.setting:3537 in method Real at src/gen/m-CORE.setting:1013 in sub infix:<<> at src/gen/m-CO…» | ||
| Ven | m: my %a = b => 1; say %a{'b'}; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«1» | ||
| Ven | m: my $a = 'b'; my %a = $b => 1; say %a{'b'}; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/eb_bVW_kJxVariable '$b' is not declaredat /tmp/eb_bVW_kJx:1------> my $a = 'b'; my %a = $b⏏ => 1; say %a{'b'}; expecting any of: postfix» | ||
| Ven | m: my $a = 'b'; my %a = {$b} => 1; say %a{'b'}; | 14:13 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/S2GW8Pl534Variable '$b' is not declaredat /tmp/S2GW8Pl534:1------> my $a = 'b'; my %a = {$b⏏} => 1; say %a{'b'}; expecting any of: postfix» | ||
| Ven | m: my $a = 'b'; my %a = $a => 1; say %a{'b'}; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«1» | ||
| Ven | oh oke | ||
|
14:13
treehug88 joined
|
|||
| Ven | m: sub a(:$a) { $a + 2 }; a(2).say; a().say; | 14:14 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub a at /tmp/HcBrtGO288:1 in block at /tmp/HcBrtGO288:1» | ||
| Ven | m: sub a(:$a) { $a + 2 }; a(a => 2).say; a().say; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«4use of uninitialized value of type Any in numeric context2» | ||
| Ven | m: sub a(Int :$a) { $a + 2 }; a(a => 2).say; a().say; | 14:15 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«4Invocant requires an instance, but a type object was passed in method Bridge at src/gen/m-CORE.setting:4286 in sub infix:<+> at src/gen/m-CORE.setting:4189 in sub infix:<+> at src/gen/m-CORE.setting:3992 in sub a at /tmp/1drt4Dl2CD:1…» | ||
| Ven | m: sub a(:$a) { $a + 2 }; a(a => 2).say; a().say; | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«4use of uninitialized value of type Any in numeric context2» | ||
|
14:15
kbaker joined
|
|||
| Ven | oh it's just a waning | 14:15 | |
| m: sub a(:$a!) { $a + 2 }; a(a => 2).say; a().say; | |||
| camelia | rakudo-moar 44ab3c: OUTPUT«4Required named parameter 'a' not passed in sub a at /tmp/yT5ARjOWu_:1 in block at /tmp/yT5ARjOWu_:1» | ||
| Ven | oke, requires it. | ||
|
14:22
colomon left
14:30
sqirrel_ left
14:32
colomon joined
14:36
rurban joined
14:39
rindolf joined
14:47
benabik joined
14:48
jlaire left
14:49
ggoebel1113 joined
14:50
jlaire joined,
sjn_ joined,
sjn_ left
14:55
treehug88 left
14:59
btyler joined
15:12
thou joined,
adu joined
|
|||
| masak | m: sub a($x?, :$a = $x) { say $a }; a(); a(42); a(:x(5)); a('foo', :x(17)) | 15:13 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«(Any)42Unexpected named parameter 'x' passed in sub a at /tmp/qZbqGdiSlN:1 in block at /tmp/qZbqGdiSlN:1» | ||
| masak | urghm. | ||
| m: sub a($x?, :$a = $x) { say $a }; a(); a(42); a(:a(5)); a('foo', :a(17)) | |||
| camelia | rakudo-moar 44ab3c: OUTPUT«(Any)42517» | ||
| masak | \o/ | ||
|
15:14
Adriaaan joined
|
|||
| masak | m: sub foo($x where sub bar { say "invoked!"; $x }, :$bar = bar()) { say $bar }; foo(:bar('OH HAI')); foo('mwhahaha!') | 15:15 | |
| camelia | rakudo-moar 44ab3c: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in sub foo at /tmp/ukibp6hEjF:1 in block at /tmp/ukibp6hEjF:1» | ||
| masak | oh right. | ||
| m: sub foo($x where sub bar { say "invoked!"; $x }, :$bar = bar()) { say $bar }; foo('ignore me', :bar('OH HAI')); foo('mwhahaha!') | 15:16 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«invoked!OH HAIinvoked!invoked!mwhahaha!» | ||
| dalek | ecs: 1d58114 | (Elizabeth Mattijsen)++ | S (2 files): Fix one-month of updated info |
||
| masak | wh... why does the sub get called when the default is not needed? :/ | ||
| oh, hm, it gets called one time too much each time. | |||
|
15:17
adu left
|
|||
| diakopter | jnthn: stop om nomming the students; we need them to sign up for more classes | 15:19 | |
|
15:20
bluescreen10 joined
|
|||
| colomon | 3333 | 15:21 | |
| masak | colomon: yes, but in which basis? ;) | ||
|
15:23
[Sno] left
15:24
BenGoldberg left
15:25
rindolf left
15:28
treehug88 joined
15:29
rindolf joined
15:30
btyler left,
btyler joined
15:33
ajr joined
15:34
ajr is now known as Guest94731,
Guest94731 is now known as ajr_
15:42
regreg joined
15:48
kivutar joined,
adu joined
16:00
locsmif_work left
16:09
atroxaper left
16:11
raiph joined
16:14
adu left
|
|||
| lizmat | jnthn: regarding "SELF[$block(|(SELF.elems xx $block.count))];" , it cannot be turned into a ternary as apparently @a[*-4 .. *-2] is turned into a code block that accepts 2 parameters | 16:16 | |
| so abandoning rthat cleanup | |||
|
16:17
dayangkun joined
|
|||
| timotimo | www.ustream.tv/nasahdtv ← in case you didn't know yet, 3:40 seconds until launch to the ISS | 16:20 | |
|
16:21
kaleem joined
16:25
molaf_ joined
16:28
molaf left
|
|||
| masak | aww, missed the launch :/ | 16:29 | |
| tadzik | aww, missed the lunch | 16:30 | |
| :) | |||
|
16:36
FROGGS left
|
|||
| benabik | I don't get as excited for Soyuz launches. | 16:37 | |
| masak | what I saw in the live feed didn't look so exciting. | 16:39 | |
| timotimo | that's true | 16:40 | |
| benabik | In some ways, unexciting launches are the best kind. :-) | ||
|
16:43
kaleem left
|
|||
| raiph | lizmat: "@a[*-4 .. *-2] ... block that accepts 2 parameters" did you see clog just before about xx and ??!! ? | 16:44 | |
| timotimo | tadzik: will you have an opportunity to work on pod parsing in the near-ish future? especially formatting codes embedded in code/raw blocks? | 16:45 | |
| (and some time after that, tables... hopefully!) | |||
| moritz | I'm looking for a blank SVG world map like this: commons.wikimedia.org/wiki/File:Bla...ied%29.svg but also with country names | 16:47 | |
| and a mapping from country name to shape, in some form | |||
| does anybody happen to know where I can find such a thing? | |||
| oh, and it should have a permissive license (free remixing/modification) | 16:48 | ||
| timotimo | matplotlib.org/basemap/users/examples.html - maybe get there from something like this? | ||
| btyler | moritz: I'd suggest doing searches with 'shapefile' in them. here's a result that looks promising: thematicmapping.org/downloads/world_borders.php -- there are tools to convert shapefiles into svgs, but I haven't used them personally | 16:49 | |
| indeed, a perl5 tool which does just that: carto.net/svg/utils/shp2svg/ | 16:50 | ||
| moritz | btyler: thanks! | 16:51 | |
| btyler | moritz: no problem! a lot of the best geographic/map data tends to be locked up in GIS tool specific formats. geoJSON has been helping the situation, but generally spatial data is easiest to find with shapefile oriented searches | 16:54 | |
|
16:55
SamuraiJack_ left
16:57
SamuraiJack_ joined
17:01
SamuraiJack_ left
17:02
SamuraiJack_ joined
|
|||
| [Coke] | masak: if none of them have RT #121147 right, what's the right way to have it? | 17:04 | |
| synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121147 | ||
|
17:05
zakharyas left
|
|||
| grondilu_ | moritz: just checking, you know about openstreetmap, right? | 17:05 | |
|
17:06
grondilu joined,
SamuraiJack_ left
17:08
SamuraiJack_ joined
17:10
SamuraiJack_ left
17:14
SamuraiJack_ joined
17:15
rindolf left
17:17
treehug88 left
17:18
SamuraiJack__ joined
17:21
SamuraiJack_ left
17:22
treehug88 joined,
rindolf joined
17:24
SamuraiJack__ left
17:25
SamuraiJack__ joined
17:29
benabik left,
SamuraiJack__ left
17:30
SamuraiJack__ joined
17:32
thou left,
ajr_ left,
ajr joined
17:33
ajr is now known as Guest88022,
Guest88022 is now known as ajr_
17:34
SamuraiJack__ left
|
|||
| tadzik | timotimo: I like the tables patch, but I found it somewhat horrifying to merge with the existing codebase :) | 17:39 | |
|
17:42
thou joined
17:43
FROGGS joined
17:46
ajr_ left
|
|||
| timotimo | yeah, it's not really a patch per se :( | 17:47 | |
|
17:49
dakkar left
17:56
[Sno] joined
18:00
kaleem joined,
kaleem left
18:08
Rotwang joined
18:11
FOAD_ joined,
FOAD_ is now known as FOAD
18:13
kurahaupo_mobile joined
|
|||
| lue | [Coke]: I think it's supposed to print "Here" and then exit the loop. | 18:29 | |
|
18:35
darutoko left
|
|||
| vendethiel | hmm -- www.perlmonks.org/?node_id=663393 -- that's not true for perl 6, right ? | 18:38 | |
|
18:41
SamuraiJack__ joined
18:43
zakharyas joined
18:47
molaf_ left
18:48
ajr joined
18:49
ajr is now known as Guest99628
|
|||
| lucs | vendethiel: Search for "Perl 6" in that thread; it appears that yes, it's true for perl6 too. | 18:49 | |
|
18:49
Guest99628 is now known as ajr_
|
|||
| PerlJam wonders what "it" is exactly. | 18:50 | ||
| vendethiel | ouch =( | ||
| lucs | it -> "Perl can be statically parsed" | ||
| vendethiel | can't* | ||
| lucs | Er, right :) | ||
|
18:51
Adriaaan left,
zakharyas left
|
|||
| PerlJam | Then, it is correct that Perl 6 can not be statically parsed, in general. :) | 18:51 | |
|
18:52
raiph left,
Adriaaan joined
|
|||
| vendethiel | but the OP's original problem does not exist in perl6, right ? Arguments just won't "disappear" | 18:52 | |
| outside that, yeah ofc adding new operators with different precedence, makes it harder to statically analyze, but that applies to a wide variety of languages | 18:54 | ||
| even haskell has that | |||
| FROGGS | you just have to declare a sigilless variable to confuse it with a subroutine... | 18:55 | |
| you dont have that problem, in say, PHP | |||
| vendethiel | oh, sure, which doesn't make it a good language :P | 18:56 | |
|
18:56
djanatyn left,
Tene left
18:57
tgt joined
|
|||
| lizmat | raiph: yes I did, but It don't see the connection. It was related to array slicing code I was discussing with jnthn in Brussels | 18:58 | |
|
18:58
Tene joined
|
|||
| grondilu | doesn't the fact that P6 has proper function signatures removes the need to determin if a function is unary? | 18:59 | |
| *nullary | |||
|
18:59
benabik joined,
djanatyn joined
19:00
FROGGS left
|
|||
| kurahaupo_mobile | grondilu: function signatures aren't really the point | 19:01 | |
|
19:02
fhelmberger left,
SamuraiJack__ left
|
|||
| kurahaupo_mobile | the point is that multiple glosses of the code are possible, and choosing between them requires *running* some code | 19:02 | |
| jnthn | Sure, that's the trade-off you make by giving a language a BEGIN block. | 19:04 | |
| Or BEGIN-time things at all | 19:05 | ||
| (Such as use, which can export new operators, etc.) | |||
|
19:11
tgt left
|
|||
| moritz | grondilu: yes, I know about OSM; no, I don't want to import gigabytes of data before being ready to do anything useful | 19:12 | |
|
19:14
raiph joined
|
|||
| dalek | kudo-star-daily: 36f379d | coke++ | log/ (5 files): today (automated commit) |
19:18 | |
| kudo-star-daily: 1c2f41a | coke++ | log/ (5 files): today (automated commit) |
|||
| rl6-roast-data: 9e36838 | coke++ | / (6 files): today (automated commit) |
|||
| rl6-roast-data: 6c77cc6 | coke++ | / (3 files): today (automated commit) |
|||
|
19:19
xenoterracide joined,
btyler left
19:21
xenoterracide left
19:23
FROGGS joined
|
|||
| lizmat | jnthn: wrt to .made / .ast: I removed .ast from the spec completely, but suggested in the commit message that .ast would be like .made, but with an implicit check for ASTness | 19:24 | |
| would that make sense to you? Or would you consider the overhead such an extra check prohibitive ? | 19:25 | ||
|
19:25
xenoterracide joined
|
|||
| jnthn | lizmat: Well, but what does "an AST" mean? | 19:26 | |
| As in, what would be actually be checking for? | |||
| lizmat | ~~ Qast::Node ? | ||
|
19:26
xenoterracide left
|
|||
| jnthn | I don't think that's the only kind of AST in existence | 19:27 | |
| Heck, MAST exists... | |||
| lizmat | well, some kind of sanity check, so that problems in grammars are caught more easily? | 19:28 | |
| jnthn | What kinds of problems are you thinking of? | 19:29 | |
| lizmat | where make sets a string, and .ast expects an AST ? | ||
| jnthn | That feels like a rather rare kind of bug | 19:30 | |
| As in, I can't remember a concrete example like that. | |||
|
19:30
kivutar left
|
|||
| jnthn | More typically it's a missing or mis-named action method... | 19:30 | |
| lizmat | ok | 19:31 | |
| but what would be the added value of having .ast ? | |||
| other than historically / what you're used to | |||
| PerlJam | It would give you an idea of how to use it in your grammars. | ||
| (just the name) | 19:32 | ||
| jnthn | In some situations, .ast just conveys a bit better whta is going on. | ||
| lizmat | and on the other side, you would see in the parameter to "make" that it was an AST as well | ||
| PerlJam | I was trying to think ... is there another name (besides AST) for the bit of data you generate as you parse? | 19:33 | |
| lizmat | my suggestion was "pot / .pot" | ||
| jnthn | Well, it goes well with toke...nizing... | ||
| lizmat | 1. To put (something) into a pot. | ||
| 2. To preserve by bottling or canning. | 19:34 | ||
| 3. To cause a ball to fall into a pocket. | |||
| and as a noun: | |||
| 1. A vessel used for cooking or storing food, or for growing plants in, especially flowers | 19:35 | ||
| 2. (poker) The money wagered in poker or similar games. | |||
| 3. A trap for catching lobsters, crabs, eels, or fish. | |||
| anyways :) | 19:37 | ||
|
19:38
xenoterracide joined
19:39
tgt joined,
tgt left
|
|||
| PerlJam | If "made" is a synonym for "ast", what's the corresponding synonym for "make"? :) | 19:40 | |
| moritz | "ast", for "abstractify syntax tree" | ||
| PerlJam | maybe "tsa"? (it's the flip side of the operation :) | 19:41 | |
|
19:41
btyler joined
|
|||
| PerlJam | (But that has some other, unfortunate connotations as well) | 19:41 | |
| lizmat | perhaps "cook" / ".eat" | 19:46 | |
| [Coke] | etooclever | ||
| moritz | cook / .nom | ||
|
19:46
berekuk joined
|
|||
| lizmat | bake / .fried | 19:47 | |
|
19:47
Ven left,
beastd joined
|
|||
| PerlJam | peg / ... somethign that goes with peg | 19:48 | |
| jnthn | pug? | ||
| PerlJam | clearly I've only half a mind about this subject | ||
| lizmat | "A harlot; a prostitute. [circa 1600]" | ||
| PerlJam | peg was a nod to Parsing Expression Grammar | 19:49 | |
| lizmat | fill / .dig | ||
| lizmat is off for some more post-FOSDEM recovering | |||
| PerlJam | make/made has the nice aesthetic of both being the size | 19:50 | |
|
19:51
awwaiid_ is now known as awwaiid
|
|||
| moritz | dig/.dug | 19:51 | |
| jnthn | lizmat: haha, that's pug? :) I was thinking of cute past tense of peg...and of a dog :) | ||
| [Coke] | pig / peg / pug | 19:54 | |
|
19:55
SamuraiJack__ joined
|
|||
| PerlJam | dress / undress | 19:58 | |
|
19:58
spider-mario joined
|
|||
| PerlJam | anyway ... make/made are nice. lizmat++ :) | 20:00 | |
| spider-mario | wow, rakudo is much faster on moarvm than on parrot, isn’t it? | 20:02 | |
| twice as fast on my machine | |||
| timotimo | not in everything (yet) | 20:03 | |
| jnthn | spider-mario: Depends what you're doing, but sometimes it's rather faster. | 20:04 | |
| But a lot of work to go yet. :D | |||
| timotimo | so far, moar is also better at conserving RAM than parrot is | 20:08 | |
| jnthn | Not to mention JVM... :) | 20:09 | |
| moritz | just for the record, commons.wikimedia.org/wiki/File_tal...World6.svg is (nearly) the map I've been loooking for | 20:15 | |
| it has class="fr" for France etc. | |||
| it just misses the country names | 20:16 | ||
| vendethiel | Oh, yeah, I had that bug with perl6-debug (not happening with perl6 itself). what's the best place to report it ? | 20:27 | |
| moritz | vendethiel: mailto:rakudobug@perl.org | ||
| vendethiel | moritz: I found perl.perl6.compiler google group, but I guess that isn't it :p. not really used to mailing lists outside of google threads | 20:28 | |
| moritz | vendethiel: bug reports go CC to that list, iirc | 20:29 | |
| vendethiel: but no need to subscribe to any list; just write a bug report per e-mail | |||
| vendethiel | Oke. Can I reproduce a perl6-debug here ? The bug might've been fixed within the last release of the last msi | 20:30 | |
| moritz | no, camelia doesn't do perl6-debug | 20:31 | |
|
20:31
panchiniak joined
|
|||
| panchiniak | #linguistics | 20:31 | |
| timotimo | panchiniak: that's only slightly off-topic here :) | 20:32 | |
| panchiniak | sorry, wrong chat. | ||
| good to be slightly wrong any way. | |||
| vendethiel | moritz: ha, I don't have my test case here. Will do that tomorrow | 20:33 | |
|
20:37
berekuk left,
vky joined
20:39
xfix left
20:40
berekuk joined,
jnap left
20:41
xfix joined
20:45
jnap joined,
kaare_ joined
20:46
diakopter left
20:53
denisboyun joined,
kivutar joined
21:00
treehug8_ joined
21:01
treehug8_ left
21:02
treehug88 left,
xenoterracide left,
dayangkun left
21:04
treehug88 joined
|
|||
| masak | <[Coke]> masak: if none of them have RT #121147 right, what's the right way to have it? | 21:09 | |
| synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121147 | ||
| masak | [Coke]: sorry, left that out. | ||
| [Coke]: "Here\n" | |||
| [Coke]: with the rationale that FIRST runs before any iteration, the say gets printed, and then 'last' quits the loop. | 21:10 | ||
| [Coke]: rakudo-moar seems to entirely ignore the FIRST. rakudo-parrot and rakudo-jvm run the FIRST, but ignore the 'last'. | |||
| masak adds this to the ticket | 21:11 | ||
|
21:13
Sqirrel left
21:14
xenoterracide joined,
Alina-malina left
21:15
Alina-malina joined
21:17
dayangkun joined
|
|||
| [Coke] | masak++ Closable tickets are the best tickets. | 21:21 | |
| anyone else stuck in their house due to snow? | |||
| jnthn | Not here... | ||
| [Coke] is not -literally- stuck, but is sitting in a cold corner with a space heater. | |||
| jnthn | ...though, not actually back at my house yet :) | ||
| But I'm fairly sure there's nowhere near enough snow for that. | 21:22 | ||
|
21:25
denisboyun left
21:26
crab2313 joined
|
|||
| vendethiel | [Coke]: I wish I had seen snow this year *sigh* | 21:26 | |
| [Coke] | our area got about a foot, it seems. | ||
| vendethiel: we've had what feels like quite a bit :) | 21:27 | ||
|
21:27
Alina-malina left
|
|||
| vendethiel | [Coke]: do share :P | 21:27 | |
|
21:27
Alina-malina joined
|
|||
| jnthn | detrain & | 21:28 | |
|
21:29
bjz joined
|
|||
| btyler | still noodling on grammars, would anyone mind helping me understand why this regex matches as a m// but fails as a grammar token? gist.github.com/kanatohodets/d5161...3b3f2837a0 | 21:31 | |
|
21:32
crab2313 left
21:34
skids joined
21:37
amkrankr1leuen is now known as amkrankruleuen,
amkrankruleuen left,
amkrankruleuen joined
21:39
SamuraiJack__ left
21:40
spider-mario left
21:46
regreg left
21:49
araujo joined
21:54
xfix left
|
|||
| dalek | rl6-roast-data: f1b1cf8 | coke++ | / (3 files): today (automated commit) |
21:55 | |
| jnthn home | 21:56 | ||
| [Coke]: No, certainly not piles of snow here... | |||
| benabik isn't stuck at home due to snow, but isn't looking forward to de-commuting. | |||
|
21:57
xfix joined,
FROGGS left
|
|||
| [Coke] | btyler: I believe it's because the grammar doesn't match the whole string. | 21:58 | |
|
21:58
benabik left
|
|||
| [Coke] | yup - if you remove everything up to the leading [, it matches. Your grammar needs to account for the non-date stuff at the beginning of the line. | 21:58 | |
| btyler | [Coke]: ah ha! I get it now, thanks! | 21:59 | |
| [Coke] | woot. | 22:00 | |
| moar edged up to 99.39% a few days ago. | 22:01 | ||
| m: say "need {28878-28784} to catch r-p" | 22:02 | ||
| camelia | rakudo-moar 44ab3c: OUTPUT«need 94 to catch r-p» | ||
| jnthn | [Coke]: yay | ||
|
22:02
kbaker left
|
|||
| [Coke] | fixing S05 would get us 70 more, S32, 74. | 22:03 | |
| woot was for btyler++, btw. | |||
|
22:03
ssutch joined
22:06
ssutch left
22:09
Rotwang left
|
|||
| masak | 'night, #perl6 | 22:16 | |
|
22:21
raiph left
22:23
rurban left
|
|||
| [Coke] | ~~ | 22:24 | |
|
22:29
lue left
22:33
rylinaux joined
22:34
ajr_ left
22:38
kbaker joined
|
|||
| cxreg | is jvm nativecall stuck in hell? | 22:40 | |
| seems like that's had the same narrative for like 5 months going | 22:41 | ||
| jnthn | cxreg: There's been progress on it within the last month | 22:42 | |
|
22:42
lue joined
22:43
rurban joined
|
|||
| jnthn | cxreg: Was mentioned in last month's ChangeLog also | 22:43 | |
| cxreg | does it need/want any help? | ||
| jnthn | cxreg: I suspect help is welcome; arnsholt would know best where it's needed. As far as I know, the biggest remaining piece is callbacks; I think the last month's work mostly (or perhaps entirely) nailed structs. | 22:45 | |
| cxreg | just saw the changelog note, thanks | ||
| [Coke] | help is almost always welcome! | ||
| cxreg | callbacks for things like database drivers? | 22:54 | |
| trying to think of a good example | 22:55 | ||
|
22:55
aindilis joined
|
|||
| jnthn | Not sure if any of those depend on callbacks. They're for any C API that takes a function pointer parameter. | 22:56 | |
| skids | cxreg: for library API callbacks, they are very common. | 22:57 | |
| cxreg | got it now, thanks | ||
| lue | Bug #121180 got me thinking: perhaps Q needs two literal quote forms, 「」, and 『』 for when you want to type 」. Of course, that one corner case probably isn't worth another reserved bracket pair, but still. :) | 23:03 | |
| synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121180 | ||
| [Coke] | lue: ok, I have a string with both of those characters in it. | 23:05 | |
| dalek | kudo/nom: 90b3d61 | jnthn++ | tools/build/create-jvm-runner.pl: Fix JVM runner install on Win32. |
23:06 | |
| lue | [Coke]: ? | ||
| timotimo | lue: haha, a "corner case" :) | 23:07 | |
| [Coke] | if the goal is to be able to roundtrip that match, adding another type doesn't help if you can include both types in your matched string. | ||
| you need to escape the string rather than add more quotes. | |||
| lue | [Coke]: I was think beyond the rejected ticket, things such as say 「You can't use 」 in here!」 | 23:08 | |
| But I see your point. It was just an idea that popped into my head; the sensible solution is to give up and use Q[ ... ] | 23:09 | ||
| [Coke] | r: say "You can't use 」 in here!" | ||
| camelia | rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«You can't use 」 in here!» | 23:10 | |
| timotimo | gentlemen, you can't 」 in here, this is the 「 room! | ||
| [Coke] | but yah, we can support more quotes. | ||
| lue | r: say 「You can't use 」 in here!」 | ||
| camelia | rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say ⏏「You can't use 」 in here!」 expecting any of: argum…» | ||
| lue | The fail marker should be after the first end bracket :/ | 23:11 | |
|
23:12
kbaker left
|
|||
| lue | r: say 「Hello Q! \o」 | 23:13 | |
| camelia | rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> say ⏏「Hello Q! \o」 expecting any of: argument list …» | ||
|
23:13
bluescreen10 left
23:15
dmol left
|
|||
| clsn__ | There's a similar issue with some special function names. | 23:48 | |
| r: my &x=sub infix:«<» { }; say &x.name; | |||
| camelia | rakudo-parrot 90b3d6, rakudo-jvm 90b3d6, rakudo-moar 90b3d6: OUTPUT«infix:<<>» | 23:49 | |
| clsn__ | And of course, using "infix:<<>" will never work. | ||
|
23:51
BenGoldberg joined
|
|||