»ö« 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
|