»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
Patterner left
00:01
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
[Coke] | r: use Test; cmp_ok (5, &infix:<cmp>, 5); | 00:01 | |
p6eval | rakudo c07eba: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&cmp_ok' called (line 1)» | ||
sorear | who, who is presently reading the channel, is going to be at yapc::eu? | 00:02 | |
[Coke] | n: use Test; cmp_ok (5, &infix:<cmp>, 5); | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Unhandled exception: No value for parameter '$fn' in 'cmp_ok' at /home/p6eval/niecza/lib/Test.pm6 line 0 (cmp_ok @ 1)  at /tmp/c1V3J9KEM8 line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/li… | ||
[Coke] | r: say {}[*-1] | 00:07 | |
p6eval | rakudo c07eba: OUTPUT«Cannot use negative index -1 on Hash in method gist at src/gen/CORE.setting:9699 in sub say at src/gen/CORE.setting:7086 in block at /tmp/wGqYX5YsRK:1» | ||
[Coke] | r: say {}[-1] | ||
p6eval | rakudo c07eba: OUTPUT«Cannot use negative index -1 on Hash in method gist at src/gen/CORE.setting:9699 in sub say at src/gen/CORE.setting:7086 in block at /tmp/aMavoeNqNl:1» | ||
[Coke] | r: say {}[1] | ||
p6eval | rakudo c07eba: OUTPUT«Index out of range. Is: 1, should be in 0..0 in method gist at src/gen/CORE.setting:9699 in sub say at src/gen/CORE.setting:7086 in block at /tmp/m29KDIwVJ1:1» | ||
[Coke] | n: use Test: is {}[*-1], Failure | 00:08 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1262 (warn @ 5)  at /home/p6eval/niecza/boot/lib/CORE.setting line 268 (Mu.Str @ 15)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/src/S… | ||
00:13
thelazydeveloper left
|
|||
[Coke] | npr: my str $foo | 00:14 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«===SORRY!===Malformed my at /tmp/yxD9eY4Ell line 1:------> my⏏ str $fooParse failed» | ||
..rakudo c07eba, pugs: ( no output ) | |||
00:15
fridim_ left
|
|||
benabik | npr: say 'This is NPR' | 00:18 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5, pugs: OUTPUT«This is NPR» | ||
00:20
fgomez joined,
PacoAir joined
|
|||
TimToady | I suspect mkdir is just an oversight | 00:22 | |
00:22
Guest44561 left,
PacoAir left
00:24
fgomez left,
fgomez joined
00:31
vlixes left
00:38
spider-mario left
00:53
mberends joined,
dayangkun joined
01:04
leprevost joined
01:15
scott__ joined,
Patterner left
01:16
Psyche^ joined,
Psyche^ is now known as Patterner
01:19
ObseLeTe left
01:25
jaldhar joined
|
|||
[Coke] | std: use Test; is showkv($kb ∪ $kb), showkv($kb), "KeyBag union with itself yields (as Bag)"; | 01:27 | |
p6eval | std 235f71b: OUTPUT«Compiled lib/Test.pm6===SORRY!===Variable $kb is not predeclared at /tmp/IfU9m3iKrk line 1:------> use Test; is showkv(⏏$kb ∪ $kb), showkv($kb), "KeyBag union wUnable to parse argument list at /tmp/IfU9m3iKrk line 1:------> … | ||
[Coke] | std: use Test; my $kb; is showkv($kb ∪ $kb), showkv($kb), "KeyBag union with itself yields (as Bag)"; | ||
p6eval | std 235f71b: OUTPUT«===SORRY!===Unable to parse argument list at /tmp/cBoRJ761g1 line 1:------> use Test; my $kb; is showkv⏏($kb ∪ $kb), showkv($kb), "KeyBag union Couldn't find final ')'; gave up at /tmp/cBoRJ761g1 line 1:------> use Test; … | ||
[Coke] | TimToady: ^^ | ||
benabik | Does std know about ∪ ? | ||
[Coke] | std: ¢3 | 01:33 | |
p6eval | std 235f71b: OUTPUT«===SORRY!===Bogus statement at /tmp/b6c0aItkwu line 1:------> <BOL>⏏¢3Parse failedFAILED 00:00 42m» | ||
[Coke] | std: ¢3.say | 01:34 | |
p6eval | std 235f71b: OUTPUT«===SORRY!===Bogus statement at /tmp/icE1HGUdiN line 1:------> <BOL>⏏¢3.sayParse failedFAILED 00:00 42m» | ||
[Coke] | std: sub prefix:<¢>($a); | 01:36 | |
p6eval | std 235f71b: OUTPUT«===SORRY!===Malformed block at /tmp/YE19cY9grl line 1:------> sub prefix:<¢>($a)⏏; expecting any of: constraint param_sep parameter routine_def traitParse failedFAILED 00:00 42m» | ||
[Coke] | std: sub prefix:<¢>($a) {}; | 01:37 | |
p6eval | std 235f71b: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/6MeOMpKj56 line 1:------> sub prefix:<¢>(⏏$a) {};ok 00:00 42m» | ||
diakopter | r: class A { has int $!b }; | 01:38 | |
p6eval | rakudo c07eba: ( no output ) | ||
diakopter | r: class A { has int $!b }; say $.new(b=>'4').gist | ||
p6eval | rakudo c07eba: OUTPUT«===SORRY!===Variable $.new used where no 'self' is availableat /tmp/SVVzkvxYdB:1» | ||
diakopter | r: class A { has int $!b }; say A.new(b=>'4').gist | 01:39 | |
p6eval | rakudo c07eba: OUTPUT«A.new()» | ||
diakopter | r: class A { has int $.b }; say A.new(b=>'4').gist | ||
p6eval | rakudo c07eba: OUTPUT«Cannot assign to a non-container in block at src/gen/CORE.setting:647 in method BUILDALL at src/gen/CORE.setting:631 in method bless at src/gen/CORE.setting:621 in method new at src/gen/CORE.setting:606 in block at /tmp/Dy1LV3OwFA:1» | ||
01:39
fgomez left
|
|||
diakopter | r: class A { has int $!b; method b() { $!b } }; say A.new(b=>'4').b | 01:39 | |
p6eval | rakudo c07eba: OUTPUT«0» | ||
diakopter | r: class A { has int $!b; method b($b) { $!b = $b if $b; $!b } }; say A.new(b=>'4').b | 01:40 | |
p6eval | rakudo c07eba: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method b at /tmp/y_SohHuzuv:1 in block at /tmp/y_SohHuzuv:1» | ||
diakopter | r: class A { has int $!b; say $!b }; say A.new(b=>'4').b | ||
p6eval | rakudo c07eba: OUTPUT«===SORRY!===Variable $!b used where no 'self' is availableat /tmp/PNEDLxFAiD:1» | ||
diakopter | r: class A { has int $!b; method foo() { say $!b } }; A.new(b=>'4').foo | 01:41 | |
p6eval | rakudo c07eba: OUTPUT«0» | ||
diakopter | r: class A { has int $!b; method foo() { say $!b } }; A.new({b=>'4'}).foo | ||
p6eval | rakudo c07eba: OUTPUT«Default constructor only takes named arguments in method new at src/gen/CORE.setting:609 in block at /tmp/_p5A0ehcmT:1» | ||
diakopter | r: class A { has int $!b; method foo() { say $!b } }; A.new(b=>4).foo | ||
p6eval | rakudo c07eba: OUTPUT«0» | ||
01:42
cognominal left
|
|||
diakopter | r: class A { has Str $!b; method foo() { say $!b } }; A.new(b=>"aa").foo | 01:42 | |
p6eval | rakudo c07eba: OUTPUT«Str()» | ||
diakopter | r: class A { has Str $!b; method foo() { say $!b } }; A.new($!b=>"aa").foo | ||
p6eval | rakudo c07eba: OUTPUT«===SORRY!===Variable $!b used where no 'self' is availableat /tmp/qTlwDpP_BX:1» | ||
diakopter | r: class A { has Str $!b; method foo() { say $!b } }; A.new('b'=>"aa").foo | ||
p6eval | rakudo c07eba: OUTPUT«Default constructor only takes named arguments in method new at src/gen/CORE.setting:609 in block at /tmp/Dwv3iHrEQu:1» | ||
diakopter | r: class A { has Str $!b; method foo() { say $!b } }; A.new(:b("aa")).foo | ||
p6eval | rakudo c07eba: OUTPUT«Str()» | ||
diakopter | r: class A { has $!b; method foo() { say $!b } }; A.new(:b("aa")).foo | 01:43 | |
p6eval | rakudo c07eba: OUTPUT«Any()» | ||
01:45
tokuhiro_ joined
01:50
alphalyrae joined
02:15
raiph left
|
|||
TimToady | has std been recompiled in the last day or so? if not, it doesn't have the set ops yet | 02:21 | |
sorear | std: 1 | 02:22 | |
p6eval | std 235f71b: OUTPUT«ok 00:00 40m» | ||
TimToady | hmm, doesn't seem to like set ops here either, and I know my CORE has 'em | 02:23 | |
probably a utf-8 foulup somewhere | |||
02:23
cognominal joined
|
|||
TimToady | or maybe infix:<> in CORE is not implemented... | 02:24 | |
02:28
jeffreykegler left
02:29
tokuhiro_ left
02:30
thou joined
02:32
jeffreykegler joined
02:41
Patterner left
02:44
orafu left,
orafu joined
02:59
thou left
03:15
Psyche^ joined,
Psyche^ is now known as Patterner
03:19
cognominal left
03:20
sftp left
03:21
cognominal joined
03:27
cognominal left
03:36
skids left
04:16
jeffreykegler left
04:20
Coleoid left
04:22
cognominal joined
04:39
topo joined
04:42
telex left
04:44
birdwindupbird joined
|
|||
moritz | \o | 04:48 | |
phenny | moritz: 14 Aug 23:40Z <[Coke]> ask moritz : you added LAZY to S04-statements/lazy.t, but it's not spec, or recognized by std. Where's the bug? | ||
moritz | [Coke]: I guess it should go away again, it was a misguided attempt on my part | 04:49 | |
04:52
alphalyrae left
04:57
telex joined
|
|||
sorear | moritz: o/ | 04:58 | |
05:14
xinming joined
05:17
xinming_ left
05:20
leprevost left
|
|||
sorear suddenly notices 'Platin Sponsors' on the yapc::eu website | 05:21 | ||
sorear wonders whether this is a reportable bug | |||
moritz | why? should it be "Platinum"? | 05:23 | |
sorear | yes | ||
bonsaikitten | yes, a germanism! | ||
sorear | it's not a big deal, it's just odd | 05:24 | |
05:25
birdwindupbird left,
birdwindupbird joined
|
|||
shachaf | hi bonsaikitten, sorear | 05:25 | |
sorear | yo, shachaf. | 05:26 | |
will we see you in Frankfurt? | |||
shachaf | Unlikely -- when is it? | ||
Ah, 20-22. Doesn't look like it. | |||
It's more likely that I'll be in San Diego sometime. Are you still in the area? | 05:27 | ||
05:28
odoacre joined
|
|||
sorear | shachaf: yes | 05:34 | |
but I'm leaving in 12 hours :D | |||
shachaf | For .de? | 05:35 | |
sorear | yes | ||
TimToady | we're flying into Luxembourg | ||
sorear | .oO( flight into terrain ) |
05:36 | |
TimToady | .lu I guess that would be | ||
05:36
fgomez joined
|
|||
TimToady | well, at least I hope it's a controlled flight into terrain | 05:37 | |
slightly better survival rate that way | |||
bonsaikitten | TimToady: you should spend a few minutes to look at the city while you're there ;) | ||
TimToady | we will, after | ||
sorear | bonsaikitten: what's in luxembourgh? | ||
bonsaikitten | sorear: very nice old city | ||
lots of banks! | 05:38 | ||
dalek | kudo/sigilless: bf892d1 | moritz++ | src/core/Int.pm: switch Int to sigilless |
||
kudo/sigilless: 61d67fa | moritz++ | src/core/Rat.pm: use sigilless params in Rat |
|||
kudo/sigilless: 0d98c32 | moritz++ | src/core/Complex.pm: switch Complex to sigillless params |
|||
kudo/sigilless: 504e994 | moritz++ | src/core/ (5 files): switch Attribute, Enumeration, Hash, LoL and Order to sigilless params |
|||
kudo/sigilless: 234ad61 | moritz++ | src/core/List.pm: switch List to sigilless params |
|||
kudo/sigilless: 1f6fe81 | moritz++ | src/core/ (3 files): switch Numeric to sigilless params |
|||
kudo/sigilless: 221379e | moritz++ | src/core/ (4 files): switch Numeric, Real and Cursor to sigilless params |
|||
kudo/sigilless: 3d21d3f | moritz++ | src/core/ (2 files): switch Mu to sigilless params (mostly) |
|||
05:53
wtw joined
06:06
topo__ joined
06:08
topo left,
topo__ is now known as topo
|
|||
moritz | nr: say 'a' ... 'e' | 06:21 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«a b c d e» | ||
moritz | nr: say 'e' ... 'a' | ||
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«e d c b a» | ||
moritz | nr: say 'a' ... 'a' | 06:22 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«a» | ||
moritz | nr: say (1...*)[^5] | 06:24 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«1 2 3 4 5» | ||
moritz | nr: say (1, 1, * + * ... *)[^8] | 06:26 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«1 1 2 3 5 8 13 21» | ||
06:27
dayangkun left
|
|||
moritz | nr: 5, { $_ * 2 } ... 40 | 06:28 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: ( no output ) | ||
moritz | nr: say 5, { $_ * 2 } ... 40 | ||
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«5 10 20 40» | ||
06:40
SamuraiJack joined
06:41
cognominal_ joined
06:45
cognominal left
|
|||
mhasch | pugs: say 'e' ... 'a' | 06:53 | |
p6eval | pugs: OUTPUT«***  Unexpected "'" expecting operator, ":" or "," at /tmp/XPYZkeUgWZ line 1, column 13» | ||
dalek | c: 80689f3 | moritz++ | lib/operators.pod: [operators] sequence op |
06:59 | |
07:02
hoelzro|away is now known as hoelzro
07:05
topo left
07:06
topo joined
|
|||
mhasch has to get used to ... binding less tightly than comma | 07:09 | ||
07:11
kresike joined
|
|||
kresike | good morning all you happy perl6 people | 07:11 | |
moritz | \o mhasch, kresike | 07:12 | |
sorear | o, kresike | 07:13 | |
mhasch: .. still exists and you should be using it instead. | |||
... is only really useful if the left hand side is a list or function | 07:14 | ||
moritz | or if you want a reversed list | ||
nr: say 'e' ... 'a' | |||
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«e d c b a» | ||
moritz | nr: say 'e' .. 'a' | ||
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«"e".."a"» | ||
moritz | nr: say ('e' .. 'a').list | ||
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«» | ||
07:15
brrt joined
|
|||
mhasch | (light bulb hovering over my head) aah. Now i get it. | 07:16 | |
kresike | o/ moritz, sorear | ||
sorear | eval 1..10 | 07:17 | |
buubot_backup | sorear: No output. | ||
sorear | eval $,=' ', print 1..10 | ||
buubot_backup | sorear: 1 2 3 4 5 6 7 8 9 101 | ||
sorear | eval $,=' ', print 10..1 | ||
buubot_backup | sorear: 1 | ||
sorear | eval print 1,2,3 | ||
buubot_backup | sorear: 1231 | ||
sorear | any perl6ists broadly familiar with what console.log({a:1, b:2, c:3}) does in the WebKit REPL? | 07:20 | |
I want niecza/js to have a similar feature, pondering the least evil way to make it work :> | 07:21 | ||
07:21
sirrobert left
07:29
localhost left
07:31
mucker joined
07:47
Patterner left
07:59
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz | niecza/js? | 08:00 | |
arnsholt | sorear: I have no idea what that does =) | 08:02 | |
Also, what moritz said | |||
mhasch | niecza with a jvm backend? | 08:03 | |
moritz | jvm != js | 08:05 | |
mhasch | niecza with a js backend? | ||
moritz | more likely. But that's the first time I've heard of that, so I'm curious about the plans | 08:07 | |
08:08
topo left
|
|||
sorear | the plans aren't really ready for public consumption at this point | 08:09 | |
08:10
topo joined
|
|||
mhasch | ha! perl6leaks will gloat on this! :-) | 08:11 | |
moritz | it'll soon be DDOS'ed :-) | 08:13 | |
08:18
Patterner left
08:19
ihavetoes joined,
ihavetoes left
|
|||
masak | good antenoon, #perl6 | 08:20 | |
08:20
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz | \o masak | 08:23 | |
blog.gardeviance.org/2012/07/adopti...ycles.html | 08:28 | ||
08:28
fridim_ joined
|
|||
moritz | it just misses a bit of over-adoption :-) | 08:29 | |
08:32
sergot joined
|
|||
sergot | hi o/ | 08:32 | |
masak | moritz: over-adoption would be a more realistic model than just capping at 100%, like the red curve does ;) | 08:36 | |
sergocie! \o/ | |||
sergot | masaku! \o/ | ||
moritz | can anybody give me a short summary about what left-hand sides trigger = to be list assignment (instead of item assignment)? | 08:38 | |
and on a completely unrelated topic, I notice that that the stub operators ... !!! and ??? are non-identifier listops | 08:42 | ||
how can I declare a non-identifier listop myself? | |||
masak | moritz: according to S03, item assignment is when the lhs is a "simple lvalue", and list assignment is for "compound targets". | 08:44 | |
moritz | masak: that's by far too imprecise to put it into perl6/doc, IMHO | ||
masak | aye. | ||
examples would be better. | |||
moritz | well, I usually want both | ||
rules and examples | |||
masak | my personal rule, and I don't know if it catches everything, is this: arrays, hashes, and slices like @a[2, 3, 4] or @b[@c], trigger list assignment. lhs parens trigger list assignment. the rest is item assignment. | 08:45 | |
moritz | does @a[1] trigger list or item assignment? | 08:46 | |
masak | (the formulation of "slices like..." is such that @a[2] and @b[$c] don't trigger list assignment) | ||
item assignment. | |||
in cases where it's unknown, like @d[foo], I... I *think* it's list assignment. | 08:47 | ||
moritz | what about foo() = ... ? | ||
masak | same as @d[foo]. | 08:48 | |
moritz | :-) | ||
masak | so, list, I guess. | ||
moritz will have some "fun" trolling S03-operators/assign.t | |||
masak | "\o/" | 08:49 | |
masak is reminded of The Day #perl6 Did Sarcasm: irclog.perlgeek.de/perl6/2012-05-10#i_5570232 | 08:52 | ||
08:52
dakkar joined
|
|||
masak | re monkey-patching all X:: class .message methods (from that log): that's an ACME module and a fantastic lightning talk right there. | 08:53 | |
moritz | "I'm not bothering to produce a good error message, since you won't bother reading it anyway. Paste it to stackoverflow instead!" | 08:55 | |
sorear | o/ masak! sergot! | 09:01 | |
moritz: in nieczaland, a left hand side triggers list assignment if it evaluates to something with the list flag set | 09:02 | ||
moritz: if you want to talk about niecza/js, fine, but expect a lot of potholes | 09:03 | ||
moritz | sorear: and expressions have the list flag set? | ||
s/and/and what/ | |||
sorear | moritz: the flag is set on the return value, not the expression. | 09:04 | |
foo() = 1..3 does either "kind" of assignment | |||
moritz | sorear: erm, what? shouldn't that be a parse-time decision? | ||
sorear: I meant, list assignment and item assignment have different precedence | 09:05 | ||
s/t// | |||
sorear | the precedence check is parse time | ||
moritz | ok, it's the precedence check I'm currently interested in | 09:06 | |
sorear | it's pretty ugly | ||
moritz | I gathered that from the number of tests we have for it | 09:07 | |
sorear | it looks within the current expression to the left for @ sigils, postfix operators, signatures | ||
jnthn | Where "looks in" means "sets a contextual when it sees" | ||
sorear | wait, there's something here I don't fully understand | ||
it's resetting $*LEFTSIGIL on each pass through the TERM loop | 09:08 | ||
dalek | kudo/sigilless: 30fab97 | moritz++ | src/core/ (8 files): switch more of the setting to sigilless params (Int, Junction, Parcel, Range, Rational, Routine, stubs) |
||
kudo/sigilless: 018777f | moritz++ | src/core/Array.pm: switch Array to sigilless params |
|||
kudo/sigilless: ddb2dd2 | moritz++ | src/core/operators.pm: Switch operators.pm to sigilless params |
|||
kudo/sigilless: 76b036d | moritz++ | src/core/metaops.pm: Switch metaops to sigilless params |
|||
sorear | so really it only cares about the form of the immediately prior <term> and the precedence of any unclosed operation | 09:09 | |
what is sigilless? | |||
moritz | sorear: sub f(\x) { x } | 09:10 | |
sorear: instead of sub f(\$x) { $x } | |||
sorear | and this is proving to be a major change to rakudo? | ||
09:11
mucker left
|
|||
masak | what makes you think that? | 09:11 | |
moritz | just volominous in the setting | ||
making my $x := (1, 2, 3) not flatten will be the major change, iiuc | |||
dalek | c: 319bd4c | moritz++ | htmlify.pl: [htmlify] L<&foo> always links to a routine |
09:12 | |
c: 783fa94 | moritz++ | / (2 files): treat listops like operators for now |
|||
sorear | masak: the fact that moritz has had to make a bazillion commits | ||
c: 7778a70 | moritz++ | lib/operators.pod: list assignment, stubby listops |
|||
09:12
Circlepuller joined
|
|||
jnthn | sorear: The commits are quite clearly to src/core | 09:12 | |
moritz | sorear: well, the setting uses \$x in operator signatures a lot, because it's a bit faster than $x | ||
so lots of code needs lots of semi-mechanical updates | 09:13 | ||
fwiw the generated HTML + images of doc.perl6.org is now nearly 10MB | |||
jnthn | One of the changes made in the QAST switch will let me get the optimizer to do that transform at some point. | 09:14 | |
In some cases anyway. | |||
sorear wants to get back on niecza and make it competitive again | 09:16 | ||
09:16
ObseLeTe joined
09:18
Circlepuller left,
Circlepuller joined
|
|||
brrt | how awesome would it be if niecza and rakudo could share code | 09:18 | |
high level library classes, that kind of stuff | |||
sorear | they do, informally | 09:19 | |
a lot of stuff is copied between them and colomon++ is working on a panda port | |||
some existing libraries work on both | |||
brrt | thats pretty nice | ||
sorear | moritz: I got to thinking the other day that the weak link of try.rakudo.org is the CGI backend process that nobody can keep working | 09:20 | |
moritz: and we need a *fully featured* Javascript Perl 6 | |||
moritz: eventually I came to the idea that a fast, STD-based, Javascript-based Perl 6 implementation would have to look a lot like Niecza's goal state, so I started thinking about that state and how to get there | 09:21 | ||
brrt | sorear: the other method is you simply use mod_parrot ;-) | 09:22 | |
moritz | sorear: I applaud that goal. However the best way to get try.rakudo.org running is engineering a better CGI backend process, not writing a compiler :-) | ||
brrt | which has tests and stuff | ||
moritz | and yes, *fully featured* Perl 6 in the browser would be *really* cool | ||
arnsholt | I don't think mod_parrot would solve the problem, since you'd still have to keep the "talking to a remote server" part going | 09:23 | |
brrt | fully featured p6 anywhere would be cool | ||
whys that | |||
if you have a web server | |||
sorear | I was thinking about this in the context of 'make perl6.org awesome', not Rakudo per se | ||
brrt | and it runs a p6 script | ||
within the server | |||
you can just 'eval' the code in some sort of safe mode | 09:24 | ||
moritz | brrt: for try.rakudo.org you have to keep a REPL running between the requests | ||
arnsholt | try.rakudo.org is a REPL-in-a-webpage | ||
brrt | .... aaaah... that changes things a bit | ||
well, not really that much | |||
arnsholt | So, the server communication shenanigans is the hard part | ||
brrt | you can also keep the local state in some sort of serialized form | ||
supposing you can't open filehandles / pipes / sockets that should pretty much be ok | 09:25 | ||
moritz | I wouldn't know how to serialize the whole lexical environment | ||
sorear | moritz: you can serialize settings, no? :> | ||
moritz | I guess it can be done since the bs branch, but it's not tirivial | ||
sorear: so each line sent to the server is compiled as a new setting? :-) | 09:26 | ||
sorear | moritz: When you say 'bigobject;' in the WebKit repl it doesn't print it as text; it creates a tree expander widget and allows you to incrementally expand the object | ||
this even works if the object is huge, has circular refs, etc | |||
it's quite nice | |||
moritz wants that for basically all languages he uses :-) | 09:27 | ||
sorear | I'm wondering how I can use the unique characteristics of the browser environment to make "try.niecza" more awesome | ||
brrt | webkit / chrome repl is nice | ||
sorear | I think for that it would be good to make a parallel to .gist, call it .html or .dom | ||
brrt | sorear: run it as a silverlight app | 09:28 | |
if possible | |||
sorear | brrt: silverlight has been EOLed by Microsoft and Moonlight followed quickly | ||
i think that going forward the chances of getting a silverlight plugin are... smallish | |||
brrt | ... orly | 09:29 | |
so soon in fact | |||
well | |||
recompile to java | |||
and run it as an applet :-p | |||
sorear | OTOH Mono supports NaCl and that looks like it might be gaining tractiohn | ||
shachaf | Wait, Silverlight is dead? | ||
shachaf didn't hear about that. | |||
moritz | std: sub foo(\) { } | 09:31 | |
p6eval | std 235f71b: OUTPUT«ok 00:00 42m» | ||
moritz | std: sub foo(Mu \) { } | ||
p6eval | std 235f71b: OUTPUT«ok 00:00 42m» | ||
09:32
ObseLeTe left
|
|||
sorear | seems my info may be wrong | 09:36 | |
_moonlight_ is dead, but silverlight may be hanging on | 09:37 | ||
www.infoq.com/news/2012/05/Miguel-Moonlight | 09:38 | ||
09:54
mscha joined
|
|||
mscha | perl6: my @arr = 1..*; say @arr.perl; | 09:55 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«(timeout)» | ||
moritz | p6: my @arr := 1..*; say @arr.perl | 09:56 | |
p6eval | rakudo c07eba, niecza v19-21-gc86e8e5: OUTPUT«1..Inf» | ||
dalek | kudo/sigilless: 105cec6 | moritz++ | src/ (2 files): switch SAFE and CORE to sigilless params |
09:57 | |
kudo/sigilless: f75de7d | moritz++ | src/core/Mu.pm: remove the last use of \$foo from the setting |
|||
kudo/sigilless: dfff492 | moritz++ | docs/ROADMAP: update ROADMAP sigilless params are done; sigilless variables are still TODO |
|||
kudo/sigilless: 86bc703 | moritz++ | src/Perl6/Grammar.pm: allow typed \ and | in signatures without a name |
|||
mscha | @moritz: is that a Perl6 bug, or a PBCAK? | 10:00 | |
10:00
SHODAN left
|
|||
moritz | jnthn, pmichaud: the 'sigilless' branch works, and builds without warning. It emits compile-time warnings on \$foo and |$foo in signatures, but they continue to work. Should I merge? Or wait until after the release? | 10:00 | |
mscha: PBCAK | |||
mscha: my @a = 1..* flattens out the range | 10:01 | ||
mscha | OK. It is a bit unexpected though, since "my @arr = 1..*; say @arr[123];" works just fine. | ||
moritz | well, because 123 is *finite* | 10:02 | |
mscha | perl6: my @a = 1..*; say @a[123]; | ||
10:02
SHODAN joined
|
|||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«(timeout)» | 10:02 | |
..rakudo c07eba: OUTPUT«124» | |||
sorear | sleep& | ||
moritz | but @a has *infinitely+ many elements, and .perl needs to consult them all to reproduce the array | ||
mscha | Well, it does in my local Rakudo... | ||
moritz | s/\+/*/ | ||
it worked here too | |||
mscha | 2012.04.1 | ||
moritz | niecza timed out | ||
mscha | Ah, yes.. | ||
moritz | r: my @a = 1..*; say @a.infinite | 10:03 | |
p6eval | rakudo c07eba: OUTPUT«True» | ||
jnthn | moritz: I'd like to make it possible to use the new syntax ASAP. One conservative option: merge now without the warning, ship this release with the new syntax and old both working and a note (if anybody reads 'em) in the release notes about this, turn on the warning after the release so the next release goes out with it, then toss it completely in whatever release we feel comfy doing so. | ||
moritz | jnthn: ok, I'll do that | ||
hm, Array.perl could fail gracefully when it's knon-infinite | 10:04 | ||
jnthn | moritz: After pmichaud weighs in we may end up with the warning in this upcoming release anyway. | ||
moritz: But there's pretty much no downsides to making the new syntax available right away. | |||
moritz | jnthn: one of the perl 5 folks mentioned that deprecation warnings only work if they are on by default | ||
jnthn: which is why I have it on now, but I'm fine with switching it off too | 10:05 | ||
let's wait for pmichaud++ | |||
I'm not particularly attached to either way | |||
(and a tiny part of me says "we got almost no feedback on how to manage breaking changes across releases, so nobody care. Screw 'em") | 10:06 | ||
tadzik | hello #perl6 | 10:07 | |
shachaf | hi tadzik | ||
10:08
mscha left
|
|||
moritz wonders if now would be a good time to introduce warnings from the compiler | 10:08 | ||
all the infrastructure should be in place for it | |||
10:09
mscha joined
|
|||
moritz | on a partially related note, I've been wondering if the default exception printer should simply call $ex.?autoresume at the end | 10:09 | |
and warnings and anything else which wants to be resumed just provides such a method that dtrt | 10:10 | ||
10:11
mscha left
|
|||
ChoHag | How hard would it be to create a class which looks, acts and quacks like a basic type (an Array)? | 10:11 | |
Functionality will be added and/or changed but not until stage 2. | 10:12 | ||
arnsholt | moritz: Sounds like a good idea to me | ||
Makes it simple to create your own warning-likes | |||
moritz | ChoHag: in principle rather easy | 10:13 | |
ChoHag: except that Array is lazy, which makes its reimplementation possibly non-trivial | |||
ChoHag | Well yes, but that's just perl's tagline. | ||
10:13
scott__ left
|
|||
moritz | ChoHag: depends on how much it should quack like the original :-) | 10:14 | |
jnthn | moritz: What sort of "right things" are you pondering? | ||
ChoHag | That's why I want to extend it rather than rewrite it. | ||
moritz | jnthn: just resume, for now | ||
ChoHag | At least in part just to learn how to do it. | ||
moritz | ChoHag: what kind of extensions do you have in mind? | ||
anyway, responding to [] indexing is just done by implementing methods | 10:15 | ||
ChoHag | Primarily simulating a 'real' singly-linked list. | ||
10:15
fgomez left,
mberends left,
jlhg joined,
jlhg left
10:16
birdwindupbird left
|
|||
ChoHag | The first (and so far only) thing they can do which I need is the ability to share structure (without copying). | 10:18 | |
moritz | funny enough, Arrays can do that too (to some extend) :-) | ||
at least, as implemented in Rakudo | |||
because Array is implemented as a "reified" (already evaluated) part, and tree of iterators that produce the rest of the elements | 10:19 | ||
10:20
birdwindupbird joined
|
|||
moritz | code.google.com/p/anic/ # sounds interesting | 10:21 | |
10:21
MayDaniel joined
|
|||
jnthn sticks various Perl 6 days into his schedule, to ensure there's at least a day of tuits most weeks through to the end of the year | 10:22 | ||
masak | jnthn: oh, $boss told you too, eh? :) | 10:23 | |
r: say 8.00 % 12 == 20.00 % 12 | 10:24 | ||
p6eval | rakudo c07eba: OUTPUT«True» | ||
jnthn | masak: ;-) | 10:25 | |
moritz | jnthn++ tore++ | ||
jnthn | moritz: ooh | ||
Also, if everything on my schedule actually happens, autumn is gonna be crazy busy. | 10:26 | ||
ChoHag | So how do I go about implementing the necessary operators? | ||
Or rather, telling perl to use the right ones. | |||
moritz | ChoHag: which operators are you thinking of | ||
ChoHag | At first, assignment. | 10:27 | |
my ExtendedArray $foo = [0..*]; | |||
@foo, rather. | |||
jnthn | You can't @foo if you want to use = there | ||
moritz | ChoHag: you do it differently | ||
jnthn | You need to more like | 10:28 | |
moritz | ChoHag: my @foo := ExtendedArray.new | ||
jnthn | Right, then implement method STORE, I believe. | ||
moritz | ChoHag: and then list assignment calls the method STORE on that object | ||
ChoHag | So I can't just say this type is an array in every sense of the word except for these extra bits? | ||
moritz | that's exactly what my @foo := ExtendedArray.new does | 10:29 | |
ChoHag | Oh OK. | ||
But I can't do it in the definition of ExtendedArray instead> | |||
moritz | "look, it's an array, and use it as such, but please initialize it with an object of ExtendedArray instead of Array" | ||
ChoHag | I see. | ||
moritz | there's no easy way to associate the @ sigil with a different default object | 10:30 | |
jnthn | In the future it should also be possible to say | ||
moritz | s/object/array type/ | ||
jnthn | my @foo is ExtendedArray = ...; | ||
moritz | lunsj& | ||
jnthn | I didn't implement variable traits yet. Maybe I'll be able to figure out what I'm missing on them while at YAPC. | ||
ChoHag | So 'my Array @foo = [0..*]' becomes 'my @foo := ExtendedArray.new; @foo = [0..*]'? | 10:31 | |
Or 'my @foo is ExtendedArray = [0..*]' apparently. | |||
jnthn | Yes, the "is" will mean "bind an instance of this type instead" | 10:32 | |
my @foo = 1,2,3; really is doing more like (my @foo := Array.new) = 1,2,3; | |||
ChoHag | That explains a lot. | 10:33 | |
Now to quickly shave this yak and learn more vim and I'll test it. | |||
masak | ChoHag: the type you put before '@foo' in the variable declaration is the type of the *elements*. same with hashes and functions. | ||
ChoHag | my Int @foo = 1,2,"a" works... | 10:34 | |
Do I misinterpret 'elements'? | 10:35 | ||
masak | no, you got it right. | 10:36 | |
Rakudo gets it wrong sometimes. | |||
n: my Int @foo = 1, 2, "a"; | |||
ChoHag | O | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Potential difficulties: @foo is declared but not used at /tmp/OSRXkfMTt6 line 1:------> my Int ⏏@foo = 1, 2, "a";» | ||
masak | n: my Int @foo = 1, 2, "a"; say @foo.perl | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«[1, 2, "a"].list» | ||
masak | and apparently Niecza as well. | ||
ChoHag | Hmm well now the quacks like a duck code is so simple I've no idea how to extend it :) | 10:49 | |
10:50
jdrab joined,
cognominal joined
|
|||
ChoHag | Does it make sense to override operators within or without the class definition block? | 10:51 | |
masak | outside of it, I'd say. | ||
operators are functions and functions are lexically scoped by default. | 10:52 | ||
10:52
cognominal left
10:53
cognominal_ left,
cognominal joined
|
|||
ChoHag | I keep getting my []s and ()s mixed up. | 10:55 | |
masak | matter of habit. | 10:58 | |
the ()s are "softer" than the []s. just as List is "softer" than Array. | 10:59 | ||
ChoHag | r: class Foo is Array; my @x is Foo = 0..5; say @x ~~ Foo; | ||
p6eval | rakudo c07eba: OUTPUT«False» | ||
ChoHag | Um? | ||
huf | it's strange how these symbols become their own mnemonics after a while | ||
@ feels array-y, even though there's nothing really obvious about the @ | 11:00 | ||
masak | ChoHag: when you don't provide a block to the class declaration, the rest of the compilation unit is in that class. | ||
ChoHag | huf: It's curly. | ||
Ah. Yes I read that. | |||
masak | just so you know :) | ||
ChoHag | Stupid of me for seeing what happens when I remove it. | ||
huf | ChoHag: yes, but why are arrays curly? :) | ||
ChoHag | r: class Foo is Array{}; my @x is Foo = 0..5; say @x ~~ Foo; | ||
p6eval | rakudo c07eba: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, :rw(:$rw)!):(Rout… | ||
ChoHag | Well close enough. | ||
huf | i feel the same way btw, but i dont know why :) | ||
i think it's just the result of years and years of perl on the brain | 11:01 | ||
ChoHag | They coil up like DNA? | ||
I still get the same thing if I remove the ; and put {} (with or without newlines and other assorted whitespace). | 11:02 | ||
Like I tried above, but not on one line. | 11:03 | ||
Doesn't seem to matter what I inherit Foo from. | 11:04 | ||
11:09
rvchangue joined
11:22
kresike left
11:23
kresike joined
|
|||
colomon | r: class Foo is Array{}; my @x := Foo.new; say @x ~~ Foo | 11:26 | |
p6eval | rakudo c07eba: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, :rw(:$rw)!):(Rout… | ||
colomon | n: class Foo is Array{}; my @x := Foo.new; say @x ~~ Foo | 11:27 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«===SORRY!===Superclasses cannot have parameters at /tmp/svjMfwLGmP line 1:------> class Foo is Array{}⏏; my @x := Foo.new; say @x ~~ FooUnhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.sett… | ||
colomon | std: class Foo is Array{}; my @x := Foo.new; say @x ~~ Foo | ||
p6eval | std 235f71b: OUTPUT«ok 00:00 43m» | ||
jnthn | r: class Foo is Array {}; my @x := Foo.new; say @x ~~ Foo | ||
p6eval | rakudo c07eba: OUTPUT«True» | ||
colomon | ah | ||
topo | rn: multi t(@a, $b) { @a, $b }; multi t($x, $y) { $x, $y }; t <1 2 3>, 4; say 'ok' | 11:29 | |
p6eval | rakudo c07eba: OUTPUT«ok» | ||
..niecza v19-21-gc86e8e5: OUTPUT«Unhandled exception: Ambiguous call to &t; these signatures all match: Any, Any Any, Any at /tmp/SjrCDwsiD4 line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930… | |||
jnthn | rakudo++ | 11:30 | |
gfldex | is there any way to ask a token what char it is looking at when it fails? | 11:32 | |
11:33
spider-mario joined
|
|||
masak | gfldex: something with $/.to, perhaps? | 11:33 | |
jnthn | r: my token t { [ abc || { die $/.orig.substr($/.CURSOR.pos, 1) } ] }; say 'abc' ~~ /<&t>/; say 'def' ~~ /<&t>/ | 11:35 | |
p6eval | rakudo c07eba: OUTPUT«「abc」d in regex t at /tmp/q1B7ee6v_d:1 in method INTERPOLATE at src/gen/CORE.setting:9872 in regex at /tmp/q1B7ee6v_d:1 in method ACCEPTS at src/gen/CORE.setting:9929 in block at /tmp/q1B7ee6v_d:1» | ||
masak | jnthn++ | 11:38 | |
jnthn | Or if you fancy typing it, the cent char in place of $/.CURSOR :) | 11:39 | |
masak | :/ | 11:43 | |
jnthn | .oO( It makes no cents to masak ) |
11:45 | |
dalek | Heuristic branch merge: pushed 34 commits to rakudo/nom by moritz | 11:46 | |
moritz | that's the merge of sigilless, with warnings commented out | 11:47 | |
jnthn | moritz++ | 11:48 | |
moritz: Did we regress that constants.t test, or did it get fixed? | |||
moritz | jnthn: I fux it | ||
erm, fixed :-) | 11:49 | ||
regular verbs are overrated | |||
jnthn | *lol* | ||
oh wtf | |||
Visual Studio 2012. They wrote all of the menu names in the menu bar in CAPITAL LETTERS | 11:50 | ||
moritz | yes, that's been on reddit a while ago | ||
gfldex | $/.CURSOR.pos seams to point at the beginning of the previous successful match | ||
in my case that is | |||
moritz | because, you know, they say it's easier on the eye. GOOD TYPOGRAPHY | ||
gfldex | or vim lies about the chars number under my cursor | 11:51 | |
11:51
PacoAir joined
|
|||
gfldex | perl6++ made me learn vim | 11:53 | |
but i'm not sure if that is good or evil karma | |||
masak | 'fux'++ | 11:54 | |
jnthn | moritz: Yeah, I hadn't imagined how much I'd dislike it until I have it here in front of me. | 11:55 | |
dalek | kudo/nom: 449f30f | moritz++ | docs/ChangeLog: update ChangeLog |
||
masak | jnthn: it's like if you go to a restuarant and the waiter says "WOULD YOU LIKE SOMETHING TO DRINK WHILE YOU LOOK AT THE MENU?" | 11:57 | |
jnthn | ChangeLog is looking quite nice :) | 11:59 | |
masak | it's not release week yet, is it? :) | ||
jnthn | no :) | 12:00 | |
12:00
jeffreykegler joined
|
|||
dalek | kudo/nom: de84a76 | jnthn++ | docs/ChangeLog: Some more ChangeLog bits. |
12:03 | |
masak | what's the name of moritz++' release bot again? is it online? | 12:11 | |
jnthn | p6rd | 12:12 | |
masak | and not online. | 12:13 | |
thanks. | |||
tadzik | modules.perl6.org says "send an email to the [email@hidden.address] mailing list". That may not be the most appropriate ML | 12:21 | |
masak | [email@hidden.address] p'haps? | ||
tadzik | problly | ||
12:22
jeffreykegler left
12:44
REPLeffect left
12:54
rjh joined
|
|||
rjh | nr: say 5, { $_ * 2 } ... 41 | 12:54 | |
p6eval | rakudo de84a7, niecza v19-21-gc86e8e5: OUTPUT«(timeout)» | ||
rjh | nr: say 5, { $_ * 2 } ... 40 | ||
p6eval | rakudo de84a7, niecza v19-21-gc86e8e5: OUTPUT«5 10 20 40» | ||
mhasch | oops :-) | 12:55 | |
12:55
lichtkind joined
|
|||
jnthn | The termination conditions must be matched exactly. | 12:55 | |
rjh | so it checks for equality? | ||
perl can't know the sequence increases, got it | |||
jnthn | Uses smart-matching, which on a number does an equality check. | ||
colomon | nr: say 5, * * 2 ... * > 41 | 12:56 | |
p6eval | rakudo de84a7, niecza v19-21-gc86e8e5: OUTPUT«5 10 20 40 80» | ||
colomon | nr: say 5, * * 2 ...^ * > 41 | ||
p6eval | rakudo de84a7, niecza v19-21-gc86e8e5: OUTPUT«5 10 20 40» | ||
rjh | neat! | ||
12:58
REPLeffect joined
12:59
PacoAir left
13:00
PacoAir joined
13:02
rjh left
13:05
Vlavv_ joined
13:08
Vlavv left
13:11
bluescreen10 joined
13:13
flussence joined
|
|||
pmichaud | good morning, #perl6 | 13:23 | |
phenny | pmichaud: 14 Aug 23:08Z <raiph> tell pmichaud the 5 appears on supervisor's tees which are yellow, not the tees for sale; if you are getting yellow tees for sale with a big 6 on them, i think u should let the organizers know asap | ||
jnthn | o/ pmichaud | ||
pmichaud | phenny: tell raiph I don't have any yellow tees; I specially didn't get yellow to avoid confusion with the staff tees. | 13:24 | |
phenny | pmichaud: I'll pass that on when raiph is around. | ||
jnthn | pmichaud: Flight for you this afternoon/evening? | 13:25 | |
pmichaud | afternoon; flight leaves in seven hours | 13:26 | |
jnthn | k | ||
pmichaud | so I leave for the airport in about 5.5 hours :) | 13:27 | |
jnthn | :) | ||
masak | pmichaud! \o/ | ||
pmichaud | well, 5 hours | ||
jnthn | Look forward to seeing you tomorrow :) | ||
pmichaud | same here | ||
jnthn is flying about this time tomorrow | |||
masak .oO( are the staff only for Perl 5 people? ) | |||
pmichaud | moritz: I'm happy with merging sigilless whenever you wish, with or without warnings as you think best. | 13:28 | |
at the moment I'm inclined to "with warnings", but I can see going the other way. If it's easy to turn them on/off then lets merge and we can make the warn/nowarn decision before the release | 13:29 | ||
13:29
sirrobert joined
|
|||
sirrobert | jnthn: ping | 13:31 | |
jnthn | sirrobert: pong | ||
sirrobert | hey | ||
Sorry I had to leave abruptly yesterday. Any chance I could show you what's happening with my nativecall problem and we could look for a fix>? | 13:32 | ||
jnthn | sirrobert: How new is your Rakudo build? | ||
sirrobert | I rebuilt it yesterday | ||
mhasch | who can get pmichauds cool p6 t-shirts? | ||
jnthn | From git? | ||
sirrobert | from rakudo-star-2012.07.tar.gz | 13:33 | |
on github | |||
jnthn | But...that includes NativeCall and DBIish. | ||
sirrobert | hmmmmmmmmm | ||
ok, one sec | |||
whug. heh | 13:34 | ||
I didn't try to use DBIish. I just tried to install it (and it failed) | |||
thanks =) | |||
ha | |||
well, for whatever it's worth, panda can't install NativeCall right now =) | |||
or DBIish (at least on my setup) | |||
jnthn | It probably can't with the rakudo-star-2012.07 | 13:35 | |
sirrobert | Just tried use DBIish and it's fine. jnthn++; sirrobert--; plbth | ||
ok | |||
jnthn | NativeCall has been undergoing quite a lot of development | ||
sirrobert | ok, good to know =) | ||
jnthn | And it depends on very recent commits to Rakudo's git repo. | ||
(as in, since the last Star release) | 13:36 | ||
sirrobert | well, I'll use the included version. Thankfully that works =) | ||
13:37
cognominal left,
cognominal joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: d692b61 | (Ryan Connelly)++ | 99-problems/P (20 files): Made almost everything in 99-problems run in both niecza and rakudo. All changes were minor: most were fixes to logic and a couple to Pod errors. P08-viklund and P13-viklund: I couldn't get these to run without completely altering their code, so I just left them alone. |
13:37 | |
masak | whoa. | ||
whose nick do I ++ ? | 13:38 | ||
topo waves his arms around | |||
masak | topo++! | ||
karma topo | |||
aloha | topo has karma of 2. | ||
masak | topo++ topo++ | ||
jnthn | topo++ | ||
topo | :D | ||
jnthn | sirrobert: Yes, we try and make it so the stuff in Rakudo Star works together :) | 13:39 | |
sirrobert | heh nod | ||
pmichaud | mhasch: I'll have one or two extra shirts at yapc::eu with me; otherwise I'll be uploading the graphics to cafepress/spreadshirt/zazzle sometime today/tomorrow | ||
13:42
cognominal left
|
|||
arnsholt | sirrobert: Yeah, you'll need to use the latest Rakudo from git to get it working | 13:42 | |
I'm not sure the code you're having trouble with even existed when the 2012.07 release was made =) | 13:43 | ||
sirrobert | arnsholt: thanks | ||
mhasch | pmichaud++: good to know, thanks | ||
sirrobert | arnsholt: I ended up getting it working (because there's a copy that comes with star) | ||
arnsholt | Yeah, that'll do it as well | 13:44 | |
13:44
cognominal joined
13:48
skids joined,
pmurias_ joined,
pmurias_ left
13:54
kaare__ joined
13:55
cognominal_ joined
13:57
cognominal left
13:59
cognominal_ left
|
|||
[Coke] | me yawns. | 14:00 | |
14:07
cognominal joined
|
|||
tadzik | sirrobert++ # Acme::Meow bughunting | 14:12 | |
arnsholt | jnthn: Some days back, you said there should be some wiring ready for different sized ints called native_size, but I can't seem to find it | 14:18 | |
Where should I be looking? | 14:19 | ||
jnthn | src/core/natives.pm | ||
arnsholt | Right, there it is | 14:20 | |
Grepped for the wrong thing ^_^ | |||
[Coke] | jnthn: rakudo has parse support for native type 'str', but std doesn't. | 14:21 | |
(and there are spec tests for 'my str', also.) | |||
sirrobert | tadzik: heh | 14:22 | |
doing some pair programming to train and we came across it =) | |||
[Coke] | ah, and the specs do specifically disavow <str>. | 14:23 | |
jnthn | [Coke]: Needs further discussion. | ||
[Coke] | rakudo: my barf $foo; | ||
p6eval | rakudo de84a7: OUTPUT«===SORRY!===Malformed myat /tmp/14ONBypZ7U:1» | ||
tadzik | sirrobert: cdn.memegenerator.net/instances/400...111566.jpg :) | ||
[Coke] | ok. do we have any way of marking that? seems like a comment in roast near the "my str" tests seems best. | 14:24 | |
or perhaps a spec-rfc. | |||
[Coke] adds it to his local cleanup list for now. | 14:26 | ||
std: my $x = "3"; { use v5; $x .= "hi" } ; $x.say | 14:27 | ||
p6eval | std 235f71b: OUTPUT«===SORRY!===Unsupported use of . to concatenate strings or to call a quoted method; in Perl 6 please use ~ to concatenate, or if you meant to call a quoted method, please supply the required parentheses at /tmp/Olua7HkKmM line 1:------> my $x… | ||
[Coke] | there's a roast test for that. | ||
PerlJam wonders how difficult it would be to add sized (shaped) arrays | 14:28 | ||
14:29
pmurias joined
|
|||
[Coke] finds "use v5" in the spec, so that's a std bug, methinks. | 14:31 | ||
TimToady | that's a nyi, since it involves the entire Perl 5 grammar... | 14:38 | |
14:38
alester joined
|
|||
moritz | r: sub f(\x) { say x }; f 42 | 14:43 | |
p6eval | rakudo de84a7: OUTPUT«42» | ||
moritz | pmichaud: I've merged now, without the warnings. Enabling warnings is very easy (remove two # characters in Grammar.pm) | 14:44 | |
[Coke] ponders adding fudge like std directives to roast. | 14:46 | ||
#?std todo 'perl5 grammar NYI' | |||
14:46
wtw left
|
|||
dalek | c: 1f58d8d | moritz++ | lib/operators.pod: [operators] and, andthen, or |
14:47 | |
kresike | bye all | 14:54 | |
sirrobert | wave | ||
14:54
kresike left
14:55
jeffreykegler joined
|
|||
masak | [Coke]: couldn't hurt. | 14:58 | |
pmichaud | moritz++ # sigilless merge | 15:00 | |
jnthn | My brain keeps parsing that as "silliness" | ||
masak | enough of this sigilless! | 15:01 | |
:P | |||
pmichaud fears a monty python sequence here. | |||
moritz | ministry of siglless walks! | ||
pmichaud | "Stop that... that's sigilly!" | 15:02 | |
sirrobert | heh | ||
pmichaud | "Let us leave #perl6, it is a sigilly place." | ||
masak | :D | 15:03 | |
masak .oO( *leave* #perl6!? ) | |||
TimToady is leaving for SJC -> SEA -> LUX about now... | 15:04 | ||
masak | "The core developer can leave #perl6, but #perl6 never leaves the core developer..." | 15:05 | |
jnthn | TimToady: Safe flight | ||
BinGOs | sounds painfull | ||
pmichaud | yeah, I leave DFW->AMS->LUX in about 3.25 hrs | ||
masak | alternatively, "You can 'git co' any time you like, but you can never leave." | ||
pmichaud | masak++ masak++ | ||
*that's* good. | |||
moritz | aye, masak++ | 15:06 | |
pmichaud | TimToady: safe flights -- see you on the other side | ||
BinGOs | LUX being Luxembourg ? | 15:07 | |
moritz | aye | ||
BinGOs | cool. | ||
masak is reminded of abstrusegoose.com/77 | |||
jnthn | .oO( Glad it's not LAX, that'd be fishy ) |
15:08 | |
moritz | \o/ # somebody else brining up abstuse goose references | ||
15:09
p6rd joined
|
|||
masak | ooh, and I hadn't seen popstrip.com/fuck-heisenberg before :D | 15:09 | |
p6rd: hi! | |||
p6rd | Perl 6 release dates. Usage: p6rd: [ 'next' | 'next month' | YYYY-MM | YYYY-MM-DD ] | ||
masak | p6rd: next | ||
p6rd | parrot 2012-08-21, rakudo 2012-08-23, niecza 2012-08-27 | ||
masak | thanks! :) | ||
moritz | you're welcome | ||
masak | moritz++ | ||
p6rd: next month | 15:10 | ||
p6rd | parrot 2012-09-18, rakudo 2012-09-20, niecza 2012-09-24 | ||
timotimo | masak: you might enjoy dresdencodak.com/2005/06/14/lil-werner/ | ||
pmichaud | ah yes, I need to get the nqp and star release notes updated | 15:11 | |
who is doing this month's compiler release? | |||
moritz | tadzik++ does | ||
tadzik | I do :) | ||
masak | ++tadzik | 15:12 | |
pmichaud | okay, good. I may do the star release once more to firm up the release process and notes | ||
tadzik | (: do I | ||
pmichaud | unless someone else _really_ wants to do the star release | ||
it'll be nice to have some time to focus on p6 again after doing so much LEGO robotics lately :) | |||
masak sings "tadzik's gonna update the TAAAAAI, and then he's gonna do the releeeease..." | 15:13 | ||
hoelzro | if I wanted to set up a Rakudo development environment, where should I install nqp HEAD? | ||
colomon | LEGO robotics?!? | 15:14 | |
hoelzro | I was thinking of ~/rakudo-dev, but I can't seem to coax NQP into installing itself there =( | ||
jnthn | hoelzro: I just use --gen-parrot and then twiddle the URLs in the .git/config of the checkout of nqp | ||
colomon reflects that ?!? suggests too much puzzlement and not enough excitement. :) | |||
benabik | colomon: Maybe you should have just used three interrobangs? | 15:15 | |
masak | colomon: also, does the order matter? are you puzzled over being excited about your puzzlement? | ||
15:15
sftp joined
|
|||
colomon | really, more "please say more" than puzzled. and excited at the prospect his boy might be interested in that in a few years, instead of just building Duplo astromech droids. | 15:16 | |
pmichaud | colomon: our kids are on a LEGO robotics team, and we were one of 30 winners in the GLXP "MoonBots" competition. moonbots.org/teams/model-scout-robotics | 15:17 | |
colomon | pmichaud: sweet! | ||
hoelzro | jnthn: I'm guessing nqp installs itself wherever parrot is found? | 15:18 | |
PerlJam | pmichaud: but when will the robots be programmed in Perl 6? | ||
:-) | |||
masak | I should so get kids so that I can get them into LEGO robotics... | ||
pmichaud | yeah, we're on a pretty good winning streak. :-) | ||
colomon | pmichaud: one of our friends coaches the local high school's robotics team, I think he said there was a LEGO program here for younger kids. | 15:19 | |
masak .oO( don't port the robots to Perl 6 during the winning streak ) :P | |||
jnthn | hoelzro: yes | ||
15:19
jeffreykegler left
|
|||
pmichaud | although the .eu trip is _really_ making for a challenging schedule -- phase two of the competition is from aug 1 to sep 15, and I'm gone from aug 15 to aug 30. :-/ | 15:19 | |
moritz | how do STD and niecza parse my \foo = bar ? | 15:20 | |
pmichaud | I'm somewhat proud of our video entry for phase one. :-) | 15:21 | |
(especially since we made it to phase two :-) | |||
moritz | seems it's token declarator | 15:22 | |
masak | pmichaud: do you have any tips on how to get involved in LEGO robotics with one's kids? besides buying a Mindstorms kit, I mean. | ||
15:22
localhost joined,
thelazydeveloper joined
|
|||
pmichaud | find a local FIRST LEGO League competition | 15:22 | |
firstlegoleague.org/ | 15:23 | ||
jnthn | moritz: in declarator | ||
pmichaud | we had a Mindstorms kit in the house for quite a long time, but didn't do much with it until we entered the FLL competition. | 15:24 | |
the FLL competition is waaaay cool. Registration for the 2012 contest is still open until mid September, I think. :) | |||
moritz | s/2012/2013/ ? | 15:25 | |
pmichaud | 2012 | ||
moritz | oh | ||
pmichaud | the competition takes place fall/winter | ||
15:25
thou joined
|
|||
moritz | ah, ok | 15:25 | |
pmichaud | you can follow our progress on our website (modelscoutrobotics.org/ gratuitous plug :-) | 15:26 | |
and you can see the field mat for this year's competition there :) | 15:27 | ||
moritz | r: my \$x = 3; | ||
p6eval | rakudo de84a7: OUTPUT«===SORRY!===Malformed myat /tmp/6Yd9c_z1Np:1» | ||
moritz | n: my \x = 3; say x; x = 5; say x | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«3Unhandled exception: Writing to readonly scalar at /tmp/W96VrlkneC line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564)  at /home/p6eval/niecza/… | ||
15:28
jeffreykegler joined
|
|||
moritz | n: sub f(\x) { x = 42 }; f my $y = 3; say $y | 15:28 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«42» | ||
15:28
localhost left
|
|||
pmichaud | PerlJam: I don't know when the robots will be programmed in P6. But a couple of days ago @kid[1] figured out how to write a text-based interpretive language using NXT-G (the graphical language that comes with MindStorms) | 15:28 | |
moritz | n: my \x = 3; say x; x := 5; say x | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«35» | ||
moritz | pmichaud: I thought there was a "Not Quite C" compiler floating around for mindstorm for quite some time | 15:29 | |
colomon suspects it needs a good Forth... | |||
moritz | (which I'd use in an instant, becuase the grafical IDE was just unusable when I tried it years ago) | 15:30 | |
pmichaud | I know that NQC was available for the RCX brick; I'm not sure that it works for the NXT. | ||
(it might -- I just don't know). | |||
colomon | pmichaud++ # hoping I can follow in your footsteps in a few years. | ||
moritz wants too | |||
pmichaud | But FLL restricts programming to using NXT-G or LabView, alas. | ||
moritz | can't you do some C-like things with LabView too? | 15:31 | |
pmichaud | hmmm, or maybe it was RoboLab instead of LabView. | ||
pmichaud checks | |||
15:32
bluescreen10 left
|
|||
pmichaud | ah, RoboLab. | 15:32 | |
moritz | is RoboLab graphical too? | 15:33 | |
15:34
cognominal left,
cognominal joined,
tlocalhos joined
15:35
tlocalhos left
|
|||
jeffreykegler | pmichaud: Dunno if you caught my report last night, but I found out the answer to your question about the "big car show" | 15:35 | |
pmichaud: it was the operator precedence parse, not the LL one | |||
pmichaud | jeffreykegler: good deal, thanks! :-) | 15:36 | |
15:36
localhost joined
|
|||
moritz | n: our \a = 5; say a | 15:36 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«5» | ||
moritz | n: package A { our \b = 5 }; say A::b | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any at /tmp/WJ65GG9uHc line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564… | ||
jnthn | o.O | 15:37 | |
15:37
localhost left
|
|||
jnthn | That doesn't look right. | 15:37 | |
n: package A { our $b = 5 }; say $A::b | |||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«5» | ||
jnthn | n: package A { constant $b = 5 }; say $A::b | 15:38 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Potential difficulties: $b is declared but not used at /tmp/VpRj7cU37s line 1:------> package A { constant $b ⏏= 5 }; say $A::b5» | ||
jnthn | n: package A { constant b = 5 }; say $A::b | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Any()» | ||
jnthn | n: package A { constant b = 5 }; say A::b | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«5» | ||
jnthn | r: package A { constant b = 5 }; say A::b | ||
p6eval | rakudo de84a7: OUTPUT«5» | ||
15:41
hoelzro is now known as hoelzro|away
15:43
snearch joined
|
|||
moritz | jeffreykegler: www.perlmonks.org/?node_id=987575 | 15:48 | |
pmichaud | Yes, I believe RoboLab is graphical also. | 15:49 | |
jeffreykegler | moritz: thanks | 15:51 | |
moritz | hm, setting isn't parsed after 5 minutes (on my laptop) :( | 15:52 | |
15:53
jdrab left
|
|||
moritz | but it worked fine on the server where I developed sigilless, and apparently also on p6eval | 15:54 | |
r: say 1 | |||
p6eval | rakudo de84a7: OUTPUT«1» | ||
moritz | same revision as I try to build | ||
moritz uses git clean -xdf | |||
jnthn | moritz: kicking off a build here | 15:55 | |
moritz | Stage parse : 256.720 | 15:59 | |
huh, I kinda thought it used to be faster on that machine | |||
arnsholt | Yeah, I think there's been some kind of slowdown recently | ||
jnthn | moritz: Uh, it worked, but...crazily slowly | ||
arnsholt | Noticed the same thing today on my work machine | ||
moritz | arnsholt: can you qualify "recently" a bit more? today? | 16:00 | |
arnsholt | Yeah, today | ||
jnthn | I last commited on the 11th and it wasn't slow then. | ||
arnsholt | Didn't do any more checking than making sure it wasn't the NQP stuff I'm working on ATM | 16:01 | |
16:01
brrt left
|
|||
jnthn | moritz: Could it be the new regex quoter thingy? | 16:01 | |
94aa2b7 | 16:02 | ||
moritz | jnthn: nope, that's just Match.gist | ||
oh | |||
you mean | |||
because it's a codepoing > 255 ? | |||
jnthn | We still have issues parsing higher code-points in the setting for some reason. | ||
moritz | *point | ||
:( | |||
jnthn | I thought with QRegex we'd not, but we do :( | 16:03 | |
moritz | .u 「 | ||
phenny | U+FF62 HALFWIDTH LEFT CORNER BRACKET (「) | ||
moritz | .u 」 | ||
phenny | U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) | ||
moritz | r: say "\x[FF62]" | ||
p6eval | rakudo de84a7: OUTPUT«「» | 16:04 | |
pmichaud | is it in the setting or in the grammar? | ||
moritz | setting | ||
pmichaud | that seems very odd... something must not be working as I expect. | ||
moritz | testing with \x[...] now instead of the literals | ||
I hope it's that, and not the sigilless branch | 16:05 | ||
(which only changed token parameter, and not in a pathologic way I hope) | |||
yes, seems to fix it | 16:07 | ||
jnthn | The order of magnitude fits what I saw when I put the set ops in | ||
moritz | jnthn++ # for diagnosis | ||
dalek | kudo/nom: e326148 | moritz++ | src/core/Match.pm: avoid codepoints above 255 in the setting reverts the factor ~2 parse slowdown of the setting introduced in 94aa2b7 |
16:08 | |
16:19
birdwind1pbird joined
16:20
crab2313 joined
|
|||
pmichaud | I'll look at that this weekend. | 16:21 | |
QRegex was really supposed to have fixed that. | |||
16:23
bluescreen10 joined
|
|||
moritz | n: my Str \foo = 42 | 16:23 | |
p6eval | niecza v19-21-gc86e8e5: ( no output ) | ||
moritz | n: my Str \foo = 42; say foo | 16:24 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«42» | ||
moritz | nieczabug | ||
n: my Str $foo = 42; say foo | |||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«===SORRY!===Undeclared routine: 'foo' used at line 1Potential difficulties: $foo is declared but not used at /tmp/ahS6bsCovj line 1:------> my Str ⏏$foo = 42; say fooUnhandled exception: Check failed at /ho… | ||
moritz | n: my Str $foo = 42; say $foo | ||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«Unhandled exception: Nominal type check failed for scalar store; got Int, needed Str or subtype at /tmp/bI7ThoMyLk line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 … | ||
16:24
birdwindupbird left
|
|||
jnthn | n: my Str \foo = 'abc'; say foo; foo = 42; say foo; | 16:25 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«abcUnhandled exception: Writing to readonly scalar at /tmp/YLziITGmnD line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564)  at /home/p6eval/niecz… | ||
sirrobert | clean tests =) implementing rapidly at the API level now | ||
moritz | std: my Str \x = 3 | 16:26 | |
p6eval | std 235f71b: OUTPUT«ok 00:00 41m» | ||
16:26
Entonian joined
16:32
Entonian left
|
|||
sorear | good * #perl6 | 16:33 | |
16:36
fgomez joined
|
|||
colomon | \o | 16:44 | |
16:46
benabik left
16:47
broquaint left
16:53
kaare__ left
17:01
nodmonkey joined
|
|||
ChoHag | How far away is perl 6 from a complete implementation, docs and all? | 17:03 | |
Months, years or decades? | |||
diakopter | depends on your definition of complete (seriously) | 17:05 | |
there is a 6.0.0 *spec* milestone/freeze that hasn't yet been reached | 17:06 | ||
generally expected to occur when TimToady & the implementors decide it's so | |||
17:07
scottdware joined
|
|||
diakopter | implementations will probably still vary a bunch as to which subset of the total spec they implement, but they are expected to at least agree on 6.0.0 | 17:08 | |
PerlJam | ChoHag: "complete" isn't a useful enough metric IMHO. That's why we tend to talk about "useful" | 17:09 | |
17:09
dakkar left
|
|||
PerlJam | We currently have a useful implementation (though not useful for some tasks) | 17:09 | |
and a somewhat-useful-but-could-be-better set of documentation | 17:10 | ||
17:10
benabik joined
|
|||
PerlJam | (I don't mean that we have only one useful implementation, just that we have at least once) | 17:11 | |
er, one | |||
masak | ChoHag: I was slightly interested in the "when is it finished?" question when I started out with Perl 6. since then I've stopped caring, and started caring about "what can I do now and which things are within reach?" instead. | 17:12 | |
sorear | masak! | ||
masak | sorear! \o/ | ||
17:15
nodmonkey left
17:20
kaare_ joined
17:21
raiph joined
|
|||
raiph | hi # obscure abbreviation for "good UGT morning everyone" | 17:25 | |
phenny | raiph: 13:24Z <pmichaud> tell raiph I don't have any yellow tees; I specially didn't get yellow to avoid confusion with the staff tees. | ||
raiph | pmichaud: coolio | 17:26 | |
17:26
jeffreykegler left
|
|||
masak | raiph: why are the organizers carrying shirts with a huge "5" on them? | 17:30 | |
I don't get it. | 17:31 | ||
raiph | i think it means that they want to associate themselves with p5 -- explicitly not p or p6. | 17:33 | |
timotimo | because perl6 is an abomination? | 17:34 | |
17:35
jaldhar left
|
|||
masak | I find such a wish very interesting. | 17:35 | |
PerlJam | so there's going to be self-proclaimed fivers and sixers identified by their t-shirts? | ||
raiph | i think that, from the perspective of many those working hard on p5 and not involved in p6, p6 is an embarrassment. | ||
masak | sorry to hear that. | 17:36 | |
timotimo | perl5ers and perl6ers should also not be allowed to marry. | ||
raiph | heh | ||
tadzik | timotimo: I find suprising amount of negative emotion in your sentences, especially given the channel you're on | 17:37 | |
PerlJam | raiph: is p6 an embarrassment because it took p6 to kickstart p5 again? ;> | ||
timotimo | dunno, i'm weirded out by the thought of having people distance themselves from perl6 and perl5 respectively by wearing shirts | ||
masak | raiph: I don't want no trouble. I just seek to understand. thanks for helping me do so by clarifying. | ||
tadzik | timotimo: sorry, must've misunderstood you | 17:38 | |
timotimo | i didn't speak very clearly, sarcams doesn't translate well to text i'm afraid | ||
tadzik | masak: I guess "5" is just the first Int that comes to people's mind when they think "Perl" | ||
I don't think it's so Wrong and Evil | |||
timotimo | "because perl6 is an abomination?" was supposed to suggest why the perl5 people would want to distance themselves from perl6 | ||
tadzik | I see | ||
timotimo | as in: their thoughts, not mine | ||
17:39
birdwind1pbird left
|
|||
masak | raiph: at one point, we were a bunch of p6 people with no talks accepted for the conf. we wrote and asked, and eventually things worked out OK. I don't believe there was any malice or conspiracy. | 17:39 | |
raiph: similarly, I have no reason to believe "Perl huge 5" t-shirts are an explicit slight to those of us who associate with Perl 6. but it does send kind of a weird signal, as an organizer t-shirt. | 17:40 | ||
"yes, we invited those Perl 6 people. but keep in mind that this is a Perl 5 event, nothing else." | |||
raiph | i think this yapc will be a great opportunity for p6ers to be simultaneously humble (re 5) and hubristic (re 6), lazy (let 5ers supervise) and hard working (find ways to help the staff), patient (with 5ers complaints) and impatient (make it clear we still want help) | 17:41 | |
17:41
benabik_ joined
|
|||
timotimo | i experienced quite a bit of flak personally when i mentioned i liked perl6 a lot | 17:42 | |
masak | raiph: I hope so too. | ||
scottdware | do you think a lot of people could be afraid of "change" or the adoption of p6? | ||
timotimo | are there documents that teach perl5 to perl6 users? :) | ||
17:43
benabik left,
benabik_ is now known as benabik
|
|||
PerlJam | timotimo: flak from whom? People on IRC? Usenet? PerlMonks? ? | 17:43 | |
raiph | masak: i try to avoid evaluation (malice) and stick to observation. there's a great big 5 on supervisor tees. there's a chance no one realized how that would look but i think it was deliberate. regardless i love them and know they'll be very pleased with p6 a few years from now so it's all ok. | 17:44 | |
timotimo | one person in real life, multiple people in one specific irc channel | ||
masak | raiph: I concur. | ||
huf | *shrug* you get flak for using any kind of perl | ||
tadzik | true | ||
huf | in most programmer communities | ||
17:44
fhelmberger joined
|
|||
masak | raiph: and in some sense, there's nothing wrong with being proud of Perl 5. I want to see more of that. | 17:44 | |
heck, I'm fine with people being loud and complaining about all the things that Perl 6 doesn't do as well as Perl 5. as long as it's constructive. | 17:45 | ||
felher | timotimo: perlgeek.de/blog-en/perl-5-to-6/ | ||
timotimo: oh ,sorry, the other way round :) | |||
masak | I'm mainly curious about what forces are behind the "5" ending up on organizers' t-shirts, and wondering whether it represents a new sentiment in the Perl communities that we should relate to somehow. | 17:46 | |
17:47
scottdware left
|
|||
moritz | i think that's best figured out when you're there | 17:47 | |
PerlJam | masak: I'd like to see yellow 5 shirts, red 6 shirts, and orange 5/6 shirts :) | 17:48 | |
masak | :D | 17:53 | |
n: say 5/6 | |||
PerlJam | (well, I won't be there, but I'm sure there'd be pictures :) | ||
tadzik | I still see nothing wrong with that | ||
dalek | kudo/nom: b18ea07 | moritz++ | src/Perl6/ (2 files): sigilless variable declaration Currently only works for 'my' variables, and type constraints are ignored |
||
[Coke] does not like this no sigil stuff. hurm. | |||
colomon is with [Coke] on that | |||
p6eval | niecza v19-21-gc86e8e5: OUTPUT«0.83333333333333337» | ||
masak is not too hot on no sigils, either | |||
moritz | there are downsides the no-sigil stuff, obviously | 17:54 | |
if they happen to contain callables, you can't invoke them with var() | |||
for example | |||
masak | TIL: just as depth-first search is a kind of recursion, breadth-first search is a kind of corecursion | 17:55 | |
moritz | that's kind of obvious if you write both as non-recursive variants | 17:57 | |
masak | I guess so. then you'd use a stack for DFS and a queue for BFS. | ||
moritz | correct | 17:58 | |
and the stack directly models the stack that's used for recursion | |||
masak | aye. | ||
corecursion was first called "circular programming" :) | |||
moritz | and the queue models how the routines are called per-level | 17:59 | |
masak | I guess the queue could be replaced by something "stratified": the nodes in one generation map to the nodes in the next to be processed. | 18:00 | |
moritz | r: my Int $x := 'foo'; say 'alive' | 18:03 | |
p6eval | rakudo e32614: OUTPUT«Type check failed in binding; expected 'Int' but got 'Str' in block at /tmp/EvuJQ5BDTB:1» | ||
masak | why does Rakudo say 'in block' there? | 18:04 | |
moritz | r: sub f(Int \x) { say x }; f 'foo' | ||
p6eval | rakudo e32614: OUTPUT«===SORRY!===CHECK FAILED:Calling 'f' will never work with argument types (str) (line 1) Expected: :(Int \x)» | ||
moritz | masak: because it doesn't mark the mainline in a way that the backtrace printer could recognize | ||
r: sub f(Int \x) { say x }; my $x = 'foo'; f $x | 18:05 | ||
p6eval | rakudo e32614: OUTPUT«Nominal type check failed for parameter 'x'; expected Int but got Str instead in sub f at /tmp/bt18u0zIij:1 in block at /tmp/bt18u0zIij:1» | ||
masak | moritz: it would be pretty cool if Rakudo marked the mainline in some way, so that the backtrace printer only printed useful information. | 18:06 | |
jnthn | It has a magical lexical called !UNIT_MARKER | 18:07 | |
oh, but you can't see that in the bt I guess... | 18:08 | ||
[Coke] | r: sub f(\x) {say x.WHAT} ; f("U"); | 18:09 | |
p6eval | rakudo e32614: OUTPUT«Str()» | ||
moritz | jnthn: it would help to mix in a role into mainline code object, for example | ||
[Coke] | r: sub f(\x) {say x.WHAT} ; f(sub{say "U"}); | ||
p6eval | rakudo e32614: OUTPUT«Sub()» | ||
[Coke] | r: sub f(\x) {x()} ; f(sub{say "U"}); | ||
p6eval | rakudo e32614: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&x' called (line 1)» | ||
[Coke] | r: sub f(\x) {x.()} ; f(sub{say "U"}); | 18:10 | |
p6eval | rakudo e32614: OUTPUT«U» | ||
jnthn | moritz: Oh, you can get at the code object? | ||
moritz | jnthn: aye | 18:11 | |
jnthn: that's how we figure out if it's a block, method, sub etc. | |||
pmichaud | okay, I'm off to the airport. See some of you tomorrow. | 18:13 | |
moritz | pmichaud: good flight, good travel | ||
felher | why tomorrow? Doesn't the yapc start on 20? | ||
jnthn | pmichaud: safe travels | 18:14 | |
pmichaud | felher: there's another meeting taking place just before yapc::eu | ||
felher | pmichaud: ah, i see. So have fun and safe travels :) | ||
18:16
fgomez left
|
|||
moritz | jnthn: I've tried moritz.faui2k3.org/tmp/type-constra...less.patch to make my Str \x = 42; die, but the type constraints don't seem to do anything. Any idea why? | 18:17 | |
I don't really understand the codegen, I've just copied&pasted it together | |||
jnthn | The descriptor thing seems redundant since there's no container. | 18:22 | |
moritz: Oh... | 18:23 | ||
make QAST::Op.new( | |||
:op<bind>, | |||
QAST::Var.new(:$name, :scope<lexical>), | |||
diakopter | sorear: do you have all the unicode properties in unidata? | ||
jnthn | The type check probably needs to happen there | ||
moritz | jnthn: is there a "bind and typecheck" op or so? | 18:24 | |
jnthn | moritz: p6bindassert | ||
moritz: You wrap it around the RHS | |||
moritz | jnthn: so using that instead of bind should fix it? | ||
oh | |||
ok | |||
jnthn takes a short walk before doing some more on his YAPC slide | 18:25 | ||
er, slide*s*. | |||
They are at least plural already :) | |||
18:26
fhelmberger left
|
|||
raiph | what if... | 18:27 | |
if a switch was enabled... | |||
18:27
maja joined
|
|||
raiph | exception messages included a link to a corresponding wiki.perl6.org/X/ page... | 18:28 | |
and X pages, if blank, contained some default page... | |||
18:28
maja left
|
|||
raiph | that included some preloaded search URLs... | 18:28 | |
moritz | raiph: why wiki.perl6.org and not doc.perl6.org? | 18:29 | |
18:29
crab2313 left
|
|||
masak was thinking the same thing | 18:29 | ||
moritz | raiph: doc.perl6.org/type/X::Syntax::NegatedPair | ||
example | |||
raiph | to stackoverflow and google etc... for "p6" + that particular exception | ||
moritz | and if they don't exist, they need to be written | 18:30 | |
patches very welcome :-) | |||
raiph | (patches very welcome) knew that would be coming... :-) | 18:31 | |
moritz: link to d.p6.o would be better, and then have the default on that contain links to the wiki, so, google. | 18:32 | ||
moritz | raiph: no default page. It should be complete. Period. | ||
it's not too much work to document an exception class | 18:33 | ||
raiph | i get (and commend and support) your commitment to keep d.p6.o clean | 18:35 | |
18:35
scottdware joined
|
|||
raiph | but, even given formal doc for an error message, i still think a common action is to google it, or check so | 18:35 | |
moritz | then we need to make sure that google finds it. | 18:36 | |
18:36
pyrimidine joined
|
|||
raiph | *check stackoverflow | 18:36 | |
18:36
d4l3k_ joined
|
|||
raiph | agree w/ ensuring google finds the relevant d.p6.o page | 18:36 | |
and liked glitchmr | |||
's ddg stuff | 18:37 | ||
18:37
fhelmberger joined
|
|||
diakopter | moritz: I didn't know : was a URL character; cool | 18:37 | |
raiph | but see preloaded search URLs that find related discussion as a distinct value | 18:38 | |
18:38
fhelmberger left
|
|||
raiph | and a preloaded wiki URL that invites folk to informally talk as yet another distinct valuable thing | 18:39 | |
18:40
nuba_ joined
|
|||
raiph | i see this preloaded search URLs and preloaded wiki URL as something that applies to every page in d.p6.o, not just exceptions | 18:40 | |
18:40
estrai joined
18:41
z-b joined
|
|||
[Coke] | I don't understand how the wiki helps us on google? | 18:41 | |
d4l3k_ | kudo/nom: c076f5d | moritz++ | src/Perl6/Grammar.pm: fix copy&past-o from STD.pm6 |
||
kudo/nom: eb2f531 | moritz++ | src/Perl6/Actions.pm: fix a copy&past-o in method declare_param |
|||
kudo/nom: dc19a70 | moritz++ | src/Perl6/Actions.pm: enable type checks for "my Str \x = ..." term definitions, jnthn++ |
|||
raiph | [Coke]: they're unrelated | ||
18:41
jlaire_ joined
18:42
scottdware left
|
|||
[Coke] | hokay. | 18:42 | |
moritz | japhb: I don't think doc.perl6.org/images/type-graph-X::...edPair.svg is correct -- there are too many links to Exception | 18:43 | |
raiph | [Coke]: i'm suggesting that if I'm at a page on d.p6.o, there are automatically generated See Also ish links | ||
moritz | japhb: either the array should go from X::Syntax::NegatedPair to Exception, or from X::Comp to Exception | ||
raiph | [Coke]: some are searches ("See Also: google search for ".... | 18:44 | |
moritz | japhb: s/array/arrow/ | ||
18:45
BinGOs_ joined
|
|||
raiph | [Coke]: some are searches ("See Also: google search for "...."). one is to a w.p6.o page corresponding to this d.p6.o page | 18:45 | |
18:45
sergot left,
dalek left,
HarryS left,
BinGOs left
18:46
d4l3k_ is now known as dalek
18:48
thou left
18:53
sergot joined
19:00
_ilbot joined,
renormalist left,
renormalist joined
|
|||
dalek | c: f985981 | moritz++ | lib/X/ (5 files): document some IO errors |
19:02 | |
19:07
BrowserUk joined
19:08
BrowserUk left
19:10
BrowserUk joined
19:11
BrowserUk left
19:21
lichtkind left
19:26
Khisanth left
19:35
lichtkind joined,
BinGOs_ is now known as BinGOs
|
|||
dalek | c: ff783b8 | moritz++ | lib/X/IO/ (3 files): document three more IO error classes |
19:35 | |
19:35
snearch left,
BinGOs left,
BinGOs joined
|
|||
sorear | diakopter: not sure about 'all' | 19:35 | |
diakopter | do you have an idea how long it takes to load unidata? | 19:36 | |
or does it lazily load portions | 19:38 | ||
sorear | it lazily loads portions | 19:39 | |
it's fast enough | 19:40 | ||
dalek | c: 39b51b1 | moritz++ | lib/operators.pod: [operators] infix orelse |
||
19:41
Khisanth joined
|
|||
dalek | c: cbcc0dd | moritz++ | type-graph.txt: [type-graph.txt] remove Seq. It is probably gone for good. |
19:45 | |
19:46
Khisanth left
|
|||
sorear | diakopter: I think it includes all of the 6.1 facets anyway | 19:47 | |
jnthn back | 19:48 | ||
sorear | jnthn! o/ | ||
jnthn | o/ sorear | 19:49 | |
19:49
thou joined
|
|||
sorear is sitting in the post security area at SAN... | 19:49 | ||
19:50
birdwindupbird joined
|
|||
jnthn | ooh :) | 19:50 | |
masak waves to sorear | |||
19:50
HarryS joined
|
|||
sorear | first time ever in an airport btw | 19:50 | |
moritz | and already alone and crossing the big pond? | 19:51 | |
sorear | Sometimes you just gotta jump in the deep end | ||
masak | sorear++ | 19:52 | |
19:55
nodmonkey joined
|
|||
jnthn | If you're post-security, you already survived the worst part ;) | 19:55 | |
au | sorear++ # bon voyage | ||
huf | nah, the worst part is being cold and stiff and uncomfortable for ~10 hours... | 19:56 | |
19:56
DreamingInCode joined
|
|||
moritz | sorear: good flight, good fight | 19:56 | |
huf | but i'm sure it'll be lots of fun this time :) | ||
diakopter | hopefully someone recommended not to wear shorts | ||
moritz | indeed. Air conditions exists. In planes. | 19:57 | |
jnthn has found planes too warm far more often than too cold | |||
otoh, I'm weird with temperature ;) | 19:58 | ||
moritz just noticed that htmlify.pl will ahve trouble writing //.html for the infix // operator | |||
huf | jnthn: eh, i'm almost always cold, especially if i sit still for a bit | 19:59 | |
no surprise that one of my chief complaints with planes is the cold :) | |||
jnthn | Ah...that'd explain it. | ||
masak | moritz: certainly a bunch of things need URL escaping, no? | 20:00 | |
moritz | masak: surprisingly little | ||
20:00
Khisanth joined
|
|||
moritz | I'm slowly starting to feel the limits of statically generated files | 20:01 | |
sorear | SAN-- # blocking outbound SMTP | 20:02 | |
colomon | sorear++ | ||
sorear: have a safe flight! | |||
sorear | thanks! | ||
arnsholt | sorear: Good luck with the travelling! | ||
Wish I could be there to say hello in .de | 20:03 | ||
sorear | .lu? | ||
arnsholt | Oh, thought you were going to YAPC::EU, sorry =) | 20:04 | |
sorear | That too | ||
my airport of arrival is LUX | |||
arnsholt | Ah, right | 20:05 | |
20:05
cognominal left
|
|||
arnsholt | Maybe I'll have to come to Austin next year instead =) | 20:05 | |
20:05
ObseLeTe joined,
cognominal joined
|
|||
mhasch | bon voyage, sorear | 20:05 | |
20:08
raiph left
|
|||
sorear | arnsholt: dunno if I want to risk a visit to .tx | 20:17 | |
:) | 20:18 | ||
20:20
ObseLeTe left
|
|||
dalek | c: 03a13a1 | moritz++ | / (2 files): add operators to search |
20:22 | |
moritz | japhb: that commit ^^ didn't quite work, the search doesn't like URL fragments. Can you do anything about it? | ||
moritz -> sleep | |||
arnsholt | sorear: There is that, but I've been told Austin is pretty safe =) | 20:23 | |
A visiting professor said something like that it's a pale blue dot in a sea of red =) | 20:24 | ||
sorear | hahahahahaha | 20:25 | |
20:27
birdwindupbird left
20:32
topo left
20:33
topo joined
|
|||
PerlJam | yep, that sounds like austin. | 20:38 | |
sorear | o/ PerlJam | ||
PerlJam | I'm going to have to find a way to move back to Austin one of these days (or at least out of the technological wasteland of Corpus Christi) | ||
20:39
leprevost joined
|
|||
dalek | rl6-roast-data: c3f2e7e | coke++ | / (4 files): today |
20:39 | |
rl6-roast-data: 26a8a85 | coke++ | / (4 files): today |
|||
PerlJam | sorear: greetings. Have fun in EU | 20:40 | |
[Coke] | rakudo dropped below 23000 tests today: github.com/coke/perl6-roast-data/b...ummary.out | ||
PerlJam | sorear: Are you attending the p5mop thing too? | ||
sorear | no | ||
20:41
kaare_ left
|
|||
[Coke] | and it's probably my fault. bother. | 20:41 | |
20:41
_nay_ joined
20:42
SamuraiJack left
|
|||
[Coke] | r: say tc("eek"); | 20:44 | |
p6eval | rakudo dc19a7: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&tc' called (line 1)» | ||
20:44
DreamingInCode left
|
|||
[Coke] | r: say ucfirst("eek"); | 20:45 | |
p6eval | rakudo dc19a7: OUTPUT«Eek» | ||
[Coke] | ah. just needs to be todo'd, then. | ||
Does someone have the voodoo written down to convert a readonly github checkout to a pushable one? | 20:52 | ||
diakopter | check it out in another dir and replace the .git ? | ||
then recommit everything as one big one :) | |||
I dunno; I've never tried it | 20:53 | ||
PerlJam | [Coke]: Just edit .git/config and change the URL | 20:54 | |
diakopter | there, a real answer :D | ||
20:55
hoelzro|away is now known as hoelzro
|
|||
hoelzro | ahoy Perl6 folk | 20:55 | |
PerlJam | [Coke]: or, if you prefer command line utils, you'd do "git config remote.origin.url [email@hidden.address] | 20:56 | |
masak | hoello, hoelzro! :) | ||
PerlJam | (from within the repo) | ||
(also, assuming that you called the remote "origin") | |||
jnthn normally edits .git/config | |||
tadzik | same | ||
PerlJam | yeah, me too :) | 20:57 | |
hoelzro | so, I have a rakudo dev env set up =) | ||
tadzik | and now github defaults to https with its info when you crete a repo | ||
sorear | o/ hoelzro | ||
tadzik | I always copypaste the 'git remote add origin'part | ||
jnthn | hoelzro: Nice :) | ||
hoelzro | any recommended reading before I get to work? =) | ||
I'm trying to fix the qualified method call bug I found the other day | |||
tadzik | read "Million Little Pieces", it's an awesome book | 20:58 | |
jnthn | hoelzro: What's the bug, ooc? I may be able to hint where to look. | ||
hoelzro | S12-methods/qualified.t | 20:59 | |
when calling a qualified method of a role, self is not preserved | |||
I've found the parser action that handles method calls | |||
but I'm trying to find the code that walks the AST =/ | |||
jnthn | hoelzro: As in, compiles the AST down to PIR? | 21:00 | |
hoelzro | yes | ||
...I think. | |||
jnthn | hoelzro: That lives in src/QAST/ in the NQP repo, but it won't be where the problem is | 21:01 | |
I guess you mean .+, .* etc? | |||
oh, wait | |||
qualified, not quantified | |||
dalek | kudo/nom: 30134cf | coke++ | t/fudgeandrun: add t/fudgeandrun from niecza++ simplifies testing of individual roast files. |
||
hoelzro | jnthn: right | ||
jnthn | So $obj.Foo::Bar::meth() | ||
hoelzro | like self.Role::method() | 21:02 | |
exacly | |||
jnthn | Yeah | ||
[Coke] | editing .git/config is probably the easiest thing. Danke. | ||
jnthn | Those are desugared to a call to dispatch:<::> which you'll find in src/core/Mu.pm | ||
dalek | ast: 8ccf840 | coke++ | S10-packages/basic.t: rakudo hasn't caught up with tc/ucfirst yet. |
||
21:03
_nay_ left
|
|||
hoelzro | ah, thank you | 21:03 | |
21:03
japhb_ joined
|
|||
japhb_ | Coke, out of curiosity, what does fudgeandrun do that 'make test-file-name' did not? | 21:04 | |
21:06
skids left
|
|||
hoelzro | if I want to debug this, how can I assign the result of nqp::findmethod to a variable? | 21:07 | |
Rakudo doesn't seem to like that. | |||
21:08
jeffreykegler joined
|
|||
jnthn | "doesn't like"? | 21:08 | |
Try binding though | |||
hoelzro | ok | ||
21:08
_nay_ joined
|
|||
[Coke] | 1) it's the same as on both the other major implementations, 2), it lets you leave off the t/spec ... other than that, I don't think anything. | 21:10 | |
hoelzro | that did it | 21:11 | |
sorear | n: say "00" eqv "0" | 21:16 | |
p6eval | niecza v19-21-gc86e8e5: OUTPUT«False» | ||
japhb_ | [Coke], thanks | 21:17 | |
hoelzro | where does the "call" method of Sub get implemented? | 21:21 | |
jnthn | hoelzro: That's a VM level thing | 21:23 | |
hoelzro: I'm wondering if the problem is something to do with role punning... | |||
hoelzro | hmm | ||
jnthn: someone mentioned the "pun" term earlier | 21:24 | ||
I didn't understand what they meant | |||
jnthn | You can't invoke a method on a role directly | ||
Doing so forces it to be "punned" into a class | 21:25 | ||
The method is then call on that | |||
RolePunning.pm implements it | |||
Most method dispatches hit the method cache; ones involving punning roles go through the find_method in there. | 21:26 | ||
hoelzro | hmm | 21:29 | |
is there a way to say "hey, use this object as your self"? | |||
instead of creating a dummy objct? | |||
masak | how do you mean? | 21:31 | |
jnthn | Hmm | ||
-> $inv, *@pos, *%named { | |||
$!pun."$name"(|@pos, |%named) | |||
} | |||
Yeah, it discards $inv always | |||
masak | r: class A is Int { method foo { say self } }; my &method = A.^find_method('foo'); &method(42) | ||
p6eval | rakudo 30134c: OUTPUT«Nominal type check failed for parameter ''; expected A but got Int instead in method foo at /tmp/97WcaU9Nu4:1 in block at /tmp/97WcaU9Nu4:1» | ||
masak | oh, right. | ||
jnthn | masak: We're looking at $obj.Role::method() | 21:32 | |
masak | ok. | ||
jnthn | I wonder what the fallout is if we change the above to | 21:33 | |
nqp::findmethod($!pun, $name)($inv, |@pos, |%named) | |||
Oh, probably something bad. | |||
yeah, it'll screw up the general case | 21:35 | ||
Even if it probably fixes this particular one | |||
maybe | |||
$inv.WHAT =:= $obj.WHAT | 21:36 | ||
?? $!pun."$name"(|@pos, |%named) | |||
!! nqp::findmethod($!pun, $name)($inv, |@pos, |%named); | |||
Would nail it | |||
(inside the pointy) | |||
That is, if we're actually invoking the method on the role itself, we really need to invoke it on the pun, but if on a real instance then pass that along. | 21:37 | ||
hoelzro | well, keep thinking about it =) I need to go to bed soon, but I'm happy to try and fix this, since I found the bug! | 21:39 | |
night perl6 folk | |||
21:39
hoelzro is now known as hoelzro|away
|
|||
jnthn | 'night, hoelzro++ | 21:40 | |
21:45
nodmonkey left,
MayDaniel left
|
|||
tadzik | oh hahaha, I just had an idea, and shame that I didn't get it earlier | 21:58 | |
we should've all packed tuxedos for YAPC::EU and have taken a picture showing how well we, geeks dress | 21:59 | ||
or maybe that'll just make us look like business people | |||
masak | tadzik: not sure what that would show apart from "look! we have tuxedos!" ;) | 22:01 | |
tadzik | that'd be AWESOME | ||
imagine the pre-conference beer or so | |||
like a flash mob | |||
22:03
bluescreen10 left
|
|||
masak .oO( revenge is best served dressed in a tuxedo... like a waiter, serving things ) | 22:07 | ||
tadzik | ehehehe | 22:08 | |
22:13
alester left,
fridim_ left
22:15
leprevost left
22:21
tokuhiro_ joined
22:29
cognominal left
22:30
cognominal joined
|
|||
japhb_ | Is there a "rebuild all" in panda yet? | 22:34 | |
tadzik | nah :/ | ||
you mean to use it after a rakudo rebuild? | 22:35 | ||
japhb_ | What is preventing such functionality? | ||
tadzik, yup | |||
tadzik | that'd be hard, for you need to rebuild panda itself as well | ||
japhb_ | I end up doing a Parrot/NQP/Rakudo full rebuild 2-5x a week | ||
tadzik | so, unluckily, the easiest way is to rm -rf ~/.perl6 ~/.panda and rebootstrap it | ||
moritz++ has written a shellscript for it, iirc | |||
jnthn | Doesn't that lose the modules you had installed though? | 22:36 | |
tadzik | it does | ||
hm, that could be worked around though | |||
jnthn | Could a solution along the lines of the bootstrap script work? | ||
tadzik | cut -f 1 ~/.panda/state | xargs panda install | ||
that should work :) | 22:37 | ||
yep, should | |||
japhb_ | jnthn: +1 to that idea, I was going to suggest the same. | ||
tadzik | bootstrap.pl could handle the rebootstrap case as well, maybe | ||
so you could omit the rm -rf part | |||
and there's still the windows issue | |||
japhb_ | Seems more than reasonable to me | 22:38 | |
What's the windows issue again? | |||
jnthn | "Panda doesn't work on Windows" | 22:39 | |
japhb_ | Yeah, I was afraid the answer was "total failure" | ||
tadzik | jnthn++ exactly | ||
that need serious fixing | |||
that needs me setting up Rakudo on windows and keeping to care about it | 22:40 | ||
and there's code smell all around too | |||
japhb_ | :-( | ||
tadzik | and I stopped doing redesigns because it worked worse and worse on windows | ||
jnthn | Yeah. Let's try and have our planned YAPC hacking to see if we can make something better happen there. | 22:41 | |
tadzik | vicious circle | ||
yeah | |||
japhb_ | Well, one battle at a time. YAPC hacking for Windows fixes -- can the rebootstrap case be handled before that? | ||
tadzik | I have reisefieber anyway, so I may as well do it now | 22:42 | |
japhb_ | ++tadzik # W00t | ||
tadzik | :) | ||
tea is there, I can't pack my backpack because the clothes are still drying ;) | |||
I'll concentrate on making it work the best I can on Linuxes now | |||
japhb_ | :-) | 22:43 | |
tadzik | japhb_: could you see if offline-bootstrap works on your box? | ||
japhb_ | Sure. Just nuke .perl6 and .panda and then run what? How do you force offline-bootstrap? | 22:44 | |
.oO( Unplug the net cable ) |
|||
22:44
_nay_ left,
siff joined
|
|||
tadzik | git checkout offline-bootstrap | 22:45 | |
perl6 bootstrap.pl | |||
felher | tadzik++ | ||
japhb_ | Ah, a branch, got it | ||
tadzik | I've been hacking Go the entire day, time for some insanity now :P | ||
japhb_ | (For some reason I thought it had been merged) | ||
Hmmm, I've got some personal stuff in ~/.perl6 . Is it enough to nuke ~/.perl6/lib and ~/.perl6/bin/{panda,ufobuilder} ? | 22:48 | ||
Actually, I'll just save the other stuff off | 22:49 | ||
22:49
pmurias left
|
|||
tadzik | japhb_: should be ok | 22:50 | |
ufobuilder should be long gone too | |||
japhb_ | When I did manual rebuilds in the past, I only bothered to nuke .pir files, so it had probably remained there for quite some time. | 22:51 | |
tadzik | japhb_: personal stuff is a good point, I'll make rebootstrap nuke only /lib | 22:53 | |
japhb_ | Seems to have installed and be working quite well using offline-bootstrap | 22:54 | |
tadzik | great | 22:55 | |
I'm now testing rebootstrap.pl | |||
I'll merge offline-bootstrap too | |||
jnthn: any guess how would rakudo react if I deleted the script being run during execution? :) | 22:56 | ||
japhb_ | ufobuilder is indeed gone, btw | ||
tadzik | good | ||
seems it survives | 22:58 | ||
jnthn | tadzik: Think it slurps up the file then closes it. | ||
japhb_ wonders whether nuking ~/.panda/src/ should be optional (and off by default?), because most of the git checkouts shouldn't be corrupted, but would chew bandwidth to reclone completely | |||
jnthn | Especially when git clean | ||
tadzik | japhb_: keeping git repos in src/ has proved to be more problematic than beneficial | ||
japhb_ | Ah, what are you doing now? | 22:59 | |
tadzik | see also: people leaving leftover stuff in repos and git pull getting confused | ||
it still does this, thoug | |||
there are more important problems than this :) | |||
japhb_ | People mess around in ~/.panda/src/? That's ... an odd choice | ||
oh, no argument | |||
jnthn | People *are* odd. ;) | ||
tadzik | well | ||
oh, look this way | |||
jnthn | (Yes, yes, I'm people too, and all that... :)) | ||
tadzik | stuff in src doesn't have to come from git | 23:00 | |
consider panda install ./Local/Module | |||
23:00
jeffreykegler left
|
|||
japhb_ | I take it that copies the local source into ~/.panda/src/? | 23:00 | |
tadzik | yes | 23:01 | |
japhb_ | gotcha | ||
dalek | nda: b475cb2 | tadzik++ | / (38 files): First shot at offline bootstraping; seems to work |
23:02 | |
nda: 22a494d | tadzik++ | b (2 files): Ensure that DESTDIR is respected |
|||
nda: 9f3691d | tadzik++ | projects.json.bootstrap: Oops, forgot the most important part |
|||
nda: 0de8b12 | tadzik++ | bin/panda: Fix installing into the default location |
|||
23:07
ObseLeTe joined
|
|||
japhb_ | tadzik, had you intended to use the 'run' sub in panda-rebootstrap? It is NYI in Rakudo, according to src/core/control.pm ... | 23:08 | |
tadzik | huh, isn't that shell()? :) | ||
huh, what are those commits above | |||
japhb_ | sub run(*@) { | 23:09 | |
die 'run() is not yet implemented, please use shell() for now'; | |||
} | |||
tadzik | it's like offline-bootstrap semi-merged, wtf | ||
japhb_ | Yes, that is ... fishy | ||
dalek | nda: c77524e | tadzik++ | / (38 files): First shot at offline bootstraping; seems to work |
||
nda: c37cd2c | tadzik++ | b (2 files): Ensure that DESTDIR is respected Remove rebootstrap from bin/, it has no chance to work this way |
|||
23:09
dalek left
23:10
dalek joined,
ChanServ sets mode: +v dalek
|
|||
tadzik | japhb_: can you try the new master? | 23:10 | |
it installs panda-rebootstrap, which should work | |||
japhb_ | sure. How far do you want me to scrub things? | ||
tadzik | try to break it :) | ||
japhb_ | Heh, OK | ||
tadzik | thanks | ||
are you coming to YAPC, japhb_? | 23:12 | ||
japhb_ | *sigh* No, I wish. | ||
japhb_ has not been to a Perl conference that was more than 3 hours driving time from either his $day_job or a family member's house. | 23:13 | ||
diakopter | afraid of bedbugs at hotels? | 23:14 | |
japhb_ | afk for just a bit, $day_job | ||
[Coke] | $$ and time off, for me. | ||
tadzik | oh, this bin/panda-rebootstrap is not gonna work | 23:17 | |
dang | |||
japhb_ | bak | 23:20 | |
I have the same problem as [Coke]. | |||
tadzik, What's the problem? | 23:21 | ||
tadzik | japhb_: it's using {cwd}/dependencies :) | ||
so it has to be ran from the panda source dir | |||
japhb_ | Oh. Right. Well, I was about to test that anyway, so I guess now I know the answer to that test. :-) | ||
dalek | nda: 39080b4 | tadzik++ | bin/panda-rebootstrap: Fix that last commit |
23:22 | |
japhb_ | tadzik, ready for me to pull and try again? | ||
tadzik | sure | ||
I guess doc/ thing comes next | 23:25 | ||
japhb_ | Installing doc files, you mean? | 23:26 | |
tadzik | yeah | ||
jnthn | 'night o/ | ||
tadzik | g'night jnthn | ||
see you soon :) | 23:27 | ||
japhb_ | jnthn, In your Expert Opinion (tm), how much faster do you think Rakudo's startup time can become while remaining on the Parrot VM? | ||
Oh damn. | |||
sergot | good night ! o/ | ||
japhb_ | Slow typing kills me again | ||
jnthn | japhb_: Well, there's about 20% win from last time I profiled in fixing stuff so we don't have to decode the serialization stuff from base64... | 23:28 | |
japhb_ | hmm | ||
jnthn | japhb_: We lost a bit on what feels like startup time a while ago also. | ||
23:28
sergot left
|
|||
japhb_ | "lost a bit", as in got better or worse? | 23:29 | |
jnthn | Got worse | ||
It's parsing related | |||
japhb_ | ah | ||
jnthn | We build some rather complex NFAs "on demand" | ||
japhb_ | Oh, gotcha. | 23:30 | |
jnthn | That's happened since we moved to the new regex engine. It's much corrector in terms of semantics. | ||
We almsot certainly can compute 'em at compile time and cache them. | |||
afaik, it needs little more than tuits. Just didn't get around to it yet | |||
japhb_ | nodnod | ||
jnthn | I did have it naively in place ones. | ||
*noce | 23:31 | ||
no | |||
ONCE | |||
japhb_ | heh | ||
.oO( Fast typing kills him again ) |
|||
jnthn | Sadly, it broke the nqp bootstrap by creating coupling between stages. | ||
japhb_ nods sagely | |||
jnthn | At which point I backed it out and put it on my "list of things I know can be solved at some point without a huge amount of effort" | 23:32 | |
The much tougher cookie is trying to limit recalculation in the face of grammar derivations. | |||
japhb_ | I can easily see that. | ||
jnthn | tadzik: yes, see you soon :) | ||
I didn't really invest much thought in it just yet. | 23:33 | ||
Maybe it ain't excessively terrifying. :) | |||
Guess if you compute dependency chains as you calculate the NFAs or something... | |||
japhb_ | tadzik, FWIW rebootstrap.pl seems to be working well, tried a couple simple cases (with and without extra modules to build), worked like a charm both times | ||
tadzik | great :) | 23:34 | |
jnthn | OK, really rest o/ | ||
tadzik | I'm trying to fixup pod-installing now | ||
japhb_ | gnight! | ||
tadzik | good knight japhb_ | ||
er | |||
good knight jnthn | |||
japhb_ | excellent, thank you tadzik++ | ||
23:37
skids joined
23:40
benabik left
23:41
benabik joined
|
|||
TimToady is here at seatac for the next half hour or so | 23:41 | ||
23:42
thelazydeveloper left
|
|||
diakopter | seatac to europe? or another connection? | 23:45 | |
tadzik | huh, Pod::To::Text doesn't get precompiled? | ||
TimToady | to amsterdam first | 23:47 | |
diakopter | cool... over the ice cap or something | 23:48 | |
TimToady | iirc, only $foo or $() on the left will trigger item assignment precedence | ||
well, $foo::bar too | |||
tadzik | oh yes, this is a good panda hacking day | 23:50 | |
japhb_ | tadzik++ # good panda hacking day | 23:51 | |
tadzik | japhb_: I'm able to install p6doc locally :) | ||
japhb_ | w00t | ||
tadzik | which requires patches to rakudo and p6doc, but not for panda :P | ||
japhb_ | Interesting | 23:52 | |
tadzik | which worries me, because the last thing I remember about pod-installing branch was "omg wtf WHYYYY" | ||
but it seems to work now | |||
dalek | kudo/nom: efde6e5 | tadzik++ | tools/build/Makefile.in: Don't forget to install precompiled Pod::To::Text |
23:56 |