»ö« 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 $foo␤␤Parse 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 w␤Unable 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>⏏¢3␤Parse failed␤FAILED 00:00 42m␤»
[Coke] std: ¢3.say 01:34
p6eval std 235f71b: OUTPUT«===SORRY!===␤Bogus statement at /tmp/icE1HGUdiN line 1:␤------> <BOL>⏏¢3.say␤Parse failed␤FAILED 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␤ trait␤Parse failed␤FAILED 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 available␤at /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 available␤at /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 available␤at /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 ~~ Foo␤␤Unhandled 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 my␤at /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 my␤at /tmp/6Yd9c_z1Np:1␤»
moritz n: my \x = 3; say x; x = 5; say x
p6eval niecza v19-21-gc86e8e5: OUTPUT«3␤Unhandled 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«3␤5␤»
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::b␤␤5␤»
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 1␤␤Potential difficulties:␤ $foo is declared but not used at /tmp/ahS6bsCovj line 1:␤------> my Str ⏏$foo = 42; say foo␤␤Unhandled 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«abc␤Unhandled 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