Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-04-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 lestrrat joined #perl6
00:03 derrazo joined #perl6
00:05 Araq left #perl6
00:49 moritz sorear: no, p6eval is on feather3
00:49 moritz sorear: but the compilers are built on feather1 and rsync'ed to feather3, because feather3 doesn't have enough memory for building stuff
01:18 benabik joined #perl6
01:18 sorear ah.
01:22 wolfman2000 joined #perl6
01:27 mucker joined #perl6
01:27 tokuhiro_ joined #perl6
01:38 fgomez joined #perl6
01:38 fgomez joined #perl6
01:49 fgomez joined #perl6
01:50 timotimo is creating instances in rakudo especially slow? how about math with floating points i'd get from sin/cos?
02:22 leprevost joined #perl6
02:25 orafu joined #perl6
02:29 derrazo left #perl6
02:50 sporous joined #perl6
03:41 libertyprime joined #perl6
04:04 thou joined #perl6
04:09 drbean joined #perl6
04:09 havenn joined #perl6
04:28 kaleem joined #perl6
05:03 moritz \o/ new HPMoR chapter
05:09 birdwindupbird joined #perl6
05:15 liuchong joined #perl6
05:16 tadzik good morning :)
05:17 moritz good morning tadzik
05:21 dalek roast: 58512ac | moritz++ | S32-exceptions/misc.t:
05:21 dalek roast: test index out of range exception
05:21 dalek roast: review: https://github.com/perl6/roast/commit/58512ac3b1
05:22 kaare_ joined #perl6
05:31 moritz p6
05:31 moritz p6: say "foo"[2..*]
05:31 p6eval niecza v15-6-gefda208: OUTPUT«(timeout)»
05:31 p6eval ..pugs, rakudo 4373f0: OUTPUT«␤»
05:46 rsimoes joined #perl6
05:52 wtw joined #perl6
05:53 JimmyZ joined #perl6
05:54 Teratogen p6 say 1..10;
05:55 Teratogen p6: say 1..10;
05:55 p6eval pugs: OUTPUT«12345678910␤»
05:55 p6eval ..rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«1..10␤»
05:55 Teratogen WHOOP!
05:55 Teratogen wait, what?
05:57 dalek roast: 87dea8d | moritz++ | S02-types/lists.t:
05:57 dalek roast: RT #112216
05:57 dalek roast: review: https://github.com/perl6/roast/commit/87dea8ddbe
06:02 lestrrat joined #perl6
06:09 vlixes joined #perl6
06:15 NamelessTee joined #perl6
06:21 tarch joined #perl6
06:26 SHODAN joined #perl6
06:27 lestrrat joined #perl6
06:56 fhelmberger joined #perl6
07:01 lestrrat joined #perl6
07:08 brrt joined #perl6
07:20 fglock joined #perl6
08:07 ggoebel joined #perl6
08:24 kaleem joined #perl6
08:30 lestrrat joined #perl6
08:35 masak good now, #perl6.
08:35 masak Teratogen: pugs listifies (and doesn't put in spaces in between). Niecza and Rakudo are more up to current spec, and print the .gist of the Range, a succinct description of it.
08:37 Teratogen cool
08:38 Teratogen p6: say 1..;
08:38 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/rV7yfvhrZe:1␤»
08:38 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/cTRVS0Pv7S line 1, column 9␤»
08:38 p6eval ..niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus term at /tmp/TWlJRHkesD line 1:�------> [32msay 1..[33m�[31m;[0m��Parse failed��»
08:38 Teratogen p6: say 1..inf;
08:38 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'inf' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/…
08:38 p6eval ..pugs: OUTPUT«*** No such subroutine: "&inf"␤    at /tmp/t_7JAk0dvc line 1, column 5-11␤»
08:38 p6eval ..rakudo 4373f0: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&inf' called (line 1)␤»
08:38 Teratogen baw
08:38 masak Teratogen: it's "Inf".
08:38 Teratogen p6: say 1..Inf;
08:39 Teratogen ooooooooh
08:39 p6eval pugs: OUTPUT«Stack space overflow: current size 8388608 bytes.␤Use `+RTS -Ksize -RTS' to increase it.␤»
08:39 p6eval ..rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«1..Inf␤»
08:39 masak Teratogen: and once upon a time the syntax was actually '1...' with three dots. but we found a better use for three dots :)
08:48 fhelmberger joined #perl6
08:48 masak pugs dies there for the same reason it outputs the finite list :)
08:48 masak slurping and infinity -- often a bad combo.
08:49 mishin__ joined #perl6
08:51 masak phenny: tell lichtkind ask on p6l about $=POD vs $=pod. TheDamian hangs out there, and he's likely to reply.
08:51 phenny masak: I'll pass that on when lichtkind is around.
08:52 dakkar joined #perl6
08:56 envi_ joined #perl6
09:09 masak nice: https://areweslimyet.com/
09:09 masak we should do something like that.
09:09 moritz you mean, other than simply showing a "no"? :-)
09:10 masak graphing things. it's an efficient way of (1) paying attention to leanness (2) showing you pay attention to leanness.
09:10 masak s/efficient/effective/
09:11 masak on HN one of the first comments is 'Our engineering team's motto is "if you measure it, it will improve".'
09:13 netstar joined #perl6
09:14 netstar left #perl6
09:16 max___ joined #perl6
09:19 netstar joined #perl6
09:19 netstar is there a perl6 dev book published yet?
09:21 moritz netstar: there are PDF snapshots of "Using Perl 6" available for download
09:21 netstar who is the author?
09:21 moritz masak, jnthn, pmichaud, me, PerlJam
09:21 netstar cool
09:21 moritz and there are several other contributors
09:22 moritz like Util
09:22 netstar thanks
09:23 moritz if you have any feedback on the PDF, please let us know
09:23 netstar ok
09:23 moritz (it's not yet ready for printing, and several pieces are still missing)
09:23 netstar I remember talking to the barefoot professor in 2007 about perl6 how much closer is it to deployment now 5 years on?
09:24 moritz we have two usable compilers that have monthly releases.
09:24 netstar Okay...that's cool
09:24 moritz they aren't feature complete, and the module infrastructure still is very sparse, but it's fun to use for early adopters
09:25 netstar so u want modules written i guess
09:25 moritz and occasionally we get reports that someone or another used Perl 6 in production
09:25 moritz yes
09:25 moritz and more docs
09:26 netstar I fell for the parrot joke
09:26 moritz and better module installers, faster compilers, more robust compilers and IDE support, and... :-)
09:26 netstar IDE support as in syntax highlighting or as in delphi
09:26 moritz I didn't do any programming back then, so I only heard about it afterwards
09:27 moritz netstar: well, vim and emacs already have Perl 6 syntax hilighting
09:27 netstar that's cool
09:27 moritz netstar: but that's not the same as context sensitive autocompletion, jumping to error locations and so on
09:27 moritz I usually don't use those features, but others do
09:28 netstar sorry i have been in hospital for 1 year
09:28 netstar i'm trying to catch up
09:28 moritz oh, I hope you're better now
09:28 moritz and no need to apologize
09:28 netstar I'm kinda wondering if i am stuck in 2005
09:29 moritz http://perl6.org/compilers/features should give you a basic overview over what's implemented in which compiler
09:29 netstar no peers to verify my skills
09:29 netstar sounds cool
09:36 renormalist joined #perl6
09:37 gianlucadv joined #perl6
09:37 renormalist joined #perl6
09:38 renormalist joined #perl6
09:40 renormalist joined #perl6
09:45 kaleem joined #perl6
10:03 mcero joined #perl6
10:11 mucker joined #perl6
10:18 y3llow_ joined #perl6
10:21 xenu__ joined #perl6
10:22 sporous joined #perl6
10:22 wooden_ joined #perl6
10:33 Vlavv_ joined #perl6
10:33 silug joined #perl6
10:35 pomysl joined #perl6
10:35 pomysl joined #perl6
10:36 zipf joined #perl6
10:43 iHerb joined #perl6
10:46 colomon r: say 4 < 5 < 6 < 7
10:46 p6eval rakudo 4373f0: OUTPUT«True␤»
10:46 colomon r: say 4 < 5 < 6 < 4
10:46 p6eval rakudo 4373f0: OUTPUT«False␤»
10:50 colomon std: say 4 < 5 < 6 < 4
10:50 p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
10:52 tadzik std: say "foo" << "bar"
10:52 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at /tmp/3a8BnvPYSv line 1:�------> [32msay "foo" <<[33m�[31m "bar"[0m�Check failed�FAILED 00:00 41m�»
10:52 tadzik heh, almost like C++ ;)
10:52 masak r: enum A <e1 e2 e3>; multi infix:<< < >>(A, A) { False }; multi infix:<< < >>(e1, e2) { True }; multi infix:<< < >>(e2, e3) { True }; multi infix:<< < >>(e3, e1) { True }; say e1 < e2 < e3 < e1
10:52 p6eval rakudo 4373f0: OUTPUT«False␤»
10:52 masak aww :)
10:53 masak why doesn't the above work?
10:53 tadzik masak: doesn't it?
10:53 masak no. read carefully what it does.
10:53 tadzik oh, right, it doesn't
10:53 masak r: enum A <e1 e2 e3>; multi infix:<< < >>(e1, e2) { True }; say e1 < e2
10:53 p6eval rakudo 4373f0: OUTPUT«True␤»
10:54 masak r: enum A <e1 e2 e3>; multi infix:<< < >>(e3, e1) { True }; say e3 < e1
10:54 p6eval rakudo 4373f0: OUTPUT«False␤»
10:54 masak there we go.
10:54 masak that's the bit that's failing.
10:54 tadzik r: enum A <e1 e2 e3>; multi infix:<< < >>(A, A) { False }; multi infix:<< < >>(e1, e2) { True }; multi infix:<< < >>(e2, e3) { True }; multi infix:<< < >>(e3, e1) { die "LOL";  True }; say e1 < e2 < e3 < e1
10:54 p6eval rakudo 4373f0: OUTPUT«False␤»
10:54 tadzik yep
10:54 masak right.
10:54 masak it's never run at all.
10:54 NamelessTee joined #perl6
10:55 masak r: enum A <e1 e2>; sub foo(e1) { die "MATCHED" }; foo e1
10:55 p6eval rakudo 4373f0: OUTPUT«MATCHED␤  in sub foo at /tmp/E03yKbC5Z_:1␤  in block <anon> at /tmp/E03yKbC5Z_:1␤␤»
10:55 masak seems to be related to operators, then.
10:55 tadzik r: enum A <e1>; multi prefix:<->(e1) { die "AWW" }; say -e1
10:55 p6eval rakudo 4373f0: OUTPUT«AWW␤  in sub prefix:<-> at /tmp/LdnFrauMSw:1␤  in block <anon> at /tmp/LdnFrauMSw:1␤␤»
10:55 colomon r: enum A <e1 e2 e3>; multi infix:<< < >>(e1, e2) { say "hello!" }; say e1 < e2
10:55 p6eval rakudo 4373f0: OUTPUT«True␤»
10:55 tadzik r: enum A <e1, e2>; multi infix:<->(e1, e2) { die "AWW" }; say e1 - e2
10:55 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near ", e2) { di"␤»
10:55 tadzik r: enum A <e1 e2>; multi infix:<->(e1, e2) { die "AWW" }; say e1 - e2
10:55 p6eval rakudo 4373f0: OUTPUT«AWW␤  in sub infix:<-> at /tmp/tvYdwSv0aA:1␤  in block <anon> at /tmp/tvYdwSv0aA:1␤␤»
10:55 tadzik hmm
10:56 colomon n: enum A <e1 e2 e3>; multi infix:<< < >>(e1, e2) { say "hello!" }; say e1 < e2
10:56 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical e1 is not a package at /tmp/yiM14bThI6 line 1:�------> [32mnum A <e1 e2 e3>; multi infix:<< < >>(e1[33m�[31m, e2) { say "hello!" }; say e1 < e2[0m��A type must be provided at /tmp/yiM14bThI6 line 1:�------> [32mn…
10:56 colomon n: enum A <e1 e2 e3>; multi infix:<< < >>(A::e1, A::e2) { say "hello!" }; say e1 < e2
10:56 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��GLOBAL::A::e1 names a non-package at /tmp/qS5DPEXHih line 1:�------> [32m A <e1 e2 e3>; multi infix:<< < >>(A::e1[33m�[31m, A::e2) { say "hello!" }; say e1 < e2[0m��A type must be provided at /tmp/qS5DPEXHih line 1:�-----…
10:57 colomon r: enum A <e1 e2 e3>; multi infix:<< < >>(A, A) { say "hello!" }; say e1 < e2
10:57 p6eval rakudo 4373f0: OUTPUT«True␤»
10:58 colomon r: enum A <e1 e2>; multi infix:<< - >>(e1, e2) { die "AWW" }; say e1 - e2
10:58 p6eval rakudo 4373f0: OUTPUT«-1␤»
10:59 colomon think that's your problem
10:59 colomon std: enum A <e1 e2>; multi infix:<< - >>(e1, e2) { die "AWW" }; say e1 - e2
10:59 p6eval std 1ad3292: OUTPUT«ok 00:00 45m␤»
11:00 colomon r: enum A <e1 e2 e3>; multi infix:«<»(A, A) { say "hello!" }; say e1 < e2
11:00 p6eval rakudo 4373f0: OUTPUT«hello!␤True␤»
11:00 colomon yup
11:02 * masak submits rakudobug
11:02 masak tadzik++ colomon++ # golfing
11:02 colomon n: enum A <e1 e2 e3>; multi infix:«<»(A, A) { say "hello!" }; say e1 < e2
11:02 p6eval niecza v15-6-gefda208: OUTPUT«hello!␤True␤»
11:03 colomon n: enum A <e1 e2 e3>; multi infix:«<»(e1, e2) { say "hello!" }; say e1 < e2
11:03 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical e1 is not a package at /tmp/vQoBtcaOdU line 1:�------> [32menum A <e1 e2 e3>; multi infix:«<»(e1[33m�[31m, e2) { say "hello!" }; say e1 < e2[0m��A type must be provided at /tmp/vQoBtcaOdU line 1:�------> [32menum…
11:03 colomon n: enum A <e1 e2 e3>; multi infix:<< < >>(A, A) { say "hello!" }; say e1 < e2
11:03 masak n: enum A <e1 e2 e3>; multi infix:«<»(A where { $_ === e1 }, A where { $_ === e2}) { say "hello!" }; say e1 < e2
11:03 p6eval niecza v15-6-gefda208: OUTPUT«hello!␤True␤»
11:03 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Multiple prefix constraints not yet supported at /tmp/sdI3ZwnXCU line 1:�------> [32m>; multi infix:«<»(A where { $_ === e1 }[33m�[31m, A where { $_ === e2}) { say "hello!" }[0m��Unhandled exception: Unable to resolve met…
11:04 colomon n: enum A <e1 e2 e3>; multi infix:<< < >>(A, A) { say "hello!" }; say e1 < e2
11:04 p6eval niecza v15-6-gefda208: OUTPUT«hello!␤True␤»
11:04 masak n: enum A <e1 e2 e3>; multi infix:«<»(A $ where { $_ === e1 }, A $ where { $_ === e2}) { say "hello!" }; say e1 < e2
11:04 p6eval niecza v15-6-gefda208: OUTPUT«hello!␤True␤»
11:05 lestrrat joined #perl6
11:13 masak r: multi infix:<< < >>(2, 7) { die "whoops!" }; say 2 < 7
11:13 p6eval rakudo 4373f0: OUTPUT«True␤»
11:13 masak r: multi infix:«<»(2, 7) { die "whoops!" }; say 2 < 7
11:13 p6eval rakudo 4373f0: OUTPUT«True␤»
11:13 masak hrm.
11:15 tadzik r: enum A <e1 e2 e3>; multi infix:«<»(A, A) { False }; multi infix:«<»(e1, e2) { True }; multi infix:«<»(e2, e3) { True }; multi infix:«<»(e3, e1) { True }; say e1 < e2 < e3 < e1
11:15 p6eval rakudo 4373f0: OUTPUT«True␤»
11:23 jerome_ joined #perl6
11:25 masak \o/
11:26 masak for great justice!
11:26 masak r: enum A <e1 e2 e3>; multi infix:«<»(A, A) { False }; multi infix:«<»(e1, e2) { True }; multi infix:«<»(e2, e3) { True }; multi infix:«<»(e3, e1) { True }; say e1 < e2 < e3 < e2
11:26 p6eval rakudo 4373f0: OUTPUT«False␤»
11:26 masak \o/
11:27 masak less-than comparison: now also on circular domains :D
11:29 pernatiy joined #perl6
11:30 agentzh joined #perl6
11:30 * moritz comes back from lunch, and masak has already submitted a rakudobug
11:31 masak couldn't resist...
11:31 snearch joined #perl6
11:31 moritz did you even try? :-)
11:31 masak r: try { resist }
11:31 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&resist' called (line 1)␤»
11:32 masak r: try resist; sub resist { die "I... I can't!" }; say $!
11:32 p6eval rakudo 4373f0: OUTPUT«I... I can't!␤  in sub resist at /tmp/k9Lz31F6B_:1␤  in block <anon> at /tmp/k9Lz31F6B_:1␤␤»
11:32 masak "I generally avoid temptation unless I can't resist it." -- Mae West
11:33 masak that's not really an autopun, but it still feels like something fairly classifiable.
11:33 masak it's like when we say "...except when they don't" about rules and exceptions here on the channel.
11:34 brrt r: sub foo { if (True) { say "hoi"; } else { say "doei"; } }
11:34 p6eval rakudo 4373f0:  ( no output )
11:34 masak brrt: don't need parens around True.
11:34 masak also, consider calling foo if you want to see it execute ;)
11:34 tadzik it's like this "an exception proves the rule" proverb
11:34 tadzik I never understood it
11:35 masak yeah, but it's more like, it's funny because the addendum undermines the whole thing.
11:35 tadzik maybe it means "the fact that there is an exception to it makes it a rule", but I still find it an autopun of some sort :)
11:35 masak it's like "It's always nice weather around here. Except the days when it's bad weather."
11:35 masak it's not an autopun, because there's no use/mention mixing.
11:35 tadzik I don't always eat junk food, but when I do, it's every single day
11:36 tadzik I see
11:36 masak this would be both such a joke and an autopun: "I'm always inconsistent, in fact, I'm inconsistent right now. No, wait."
11:37 tadzik hehe
11:38 tadzik lunch &
11:39 masak (probably stolen from some Hofstadter opus or other. any sufficiently self-referent joke is indistinguishable from something Hofstadter's already written.)
11:41 moritz the famous "don't parse HTML with regexes" SO post is a nice autopun
11:41 moritz http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 # this one
11:42 arnsholt Yeah, that's a classic
11:42 arnsholt Oh, wait. Different one from what I thought you meant
11:43 moritz there's another classic one?
11:43 arnsholt There's a pretty good one by tchrist where he first says "Don't do that", and then goes on to do it anyways
11:44 au yes. http://stackoverflow.com/questions/4231382/regular-expression-pattern-not-matching-anywhere-in-string/4234491#4234491
11:44 arnsholt Yeah, what au said
11:44 moritz I never liked it
11:45 brrt masak: thanks, in rakudo using parens usually doesn't work in fact :-)
11:46 moritz because he uses a loop for tokenizing and progressing, so it's not really "parsing with a regex", but rather "parsing with the help of regexes"
11:46 moritz brrt: note that if you use parens, you need a whitespace between the if and the (
11:47 moritz brrt: if you find a case where the parens cause it to not work, and you've correctly added that space, please submit a bug report
11:47 brrt i will check, but it probably my error
11:47 masak heh, "Phenomenally Exquisite Regex Language"
11:47 moritz though rakudo's error message could really be better
11:48 moritz rakudo: if(True) { }
11:48 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/TZ9FdRfgZk:1␤»
11:48 moritz std: if(True) { }
11:48 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens at /tmp/WKBOrOuOgl line 1:�------> [32mif[33m�[31m(True) { }[0m�Unexpected block in infix position (two terms in a row) at /tmp/WKBOrOuOgl line 1…
11:48 brrt my error indeed :-) did not know that
11:51 plutoid joined #perl6
11:59 masak brrt: generally, in Perl 6, things have different meanings if you write them together or if you write them apart.
12:00 masak brrt: like in %h<foo>, the '<' introduces a hash lookup. but in %h < 5, it's just the regular comparison op.
12:00 xinming joined #perl6
12:02 tadzik r: my $h = 3; $h < 5 > 6
12:02 p6eval rakudo 4373f0:  ( no output )
12:03 tadzik r: my $h = { 5 => sub { say $^a + 1 } }; $h < 5 > 6
12:03 p6eval rakudo 4373f0:  ( no output )
12:03 tadzik r: my $h = { 5 => sub { say $^a + 1 } }; $h<5> 6
12:03 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/sJj5bRUmgm:1␤»
12:03 tadzik r: my $h = { 5 => sub { say $^a + 1 } }; $h <5> 6
12:03 p6eval rakudo 4373f0:  ( no output )
12:03 * cognominal_ read Pheromonally instead of Phenomenally in masak statement
12:04 pmichaud good morning, #perl6
12:05 moritz good am, pm
12:05 Juerd I'll keep it in mind for tomorrow :)
12:05 Juerd (afternoon here)
12:05 Juerd Good localtime
12:06 tadzik heh, in au example, are those regexes even Regular Expressions? :)
12:08 pmichaud moritz: (rt #112216)  What my last comment was trying to say (however badly) is that I don't have an opinion what the (consistent/inconsistent) behavior should be... only that I wouldn't make any further changes until we had agreement and spectests.  :)
12:09 moritz pmichaud: ok :-)
12:09 moritz pmichaud: my opinion is that we should be consistent, one way or another. And currently we aren't.
12:09 pmichaud the current behavior is consistent with what I've been told in the past, even if it's not self-consistent with other parts of the Perl 6 spec :)
12:12 pmichaud au!   o/
12:14 PacoAir joined #perl6
12:19 brrt hmm i have a case of sigil confusion... if I have declared an array attribute on an object, what sigil do i use to access it?
12:19 brrt $ works, btw, but it seems... wrong
12:20 moritz brrt: use @
12:20 pmichaud brrt: if you declared the attribute as @xyz, it should be accessed via @xyz
12:20 moritz brrt: thing is, attributes are named @!foo (or also @foo, though I find it confusing). If you write 'has @.foo', the attribute is still called @!foo
12:21 moritz brrt: but the form with the dot also gives you an accessor, which is a very normal method
12:21 moritz and $.foo is short for $( self.foo ), just as @.foo is short for @( self.foo )
12:21 tadzik TIL
12:21 moritz though rakudo ignores the sigils for the method calls
12:21 moritz niecza doesn't, I think
12:22 tadzik r: class A { method foo { return 5 }; method bar { @.foo } }; say A.new.foo.perl
12:22 p6eval rakudo 4373f0: OUTPUT«5␤»
12:22 tadzik r: class A { method foo { return 5 }; method bar { @.foo } }; say A.new.bar.perl
12:22 p6eval rakudo 4373f0: OUTPUT«5␤»
12:22 moritz p6: class A { has @.a; method sayit { .say for $.a } }; A.new(a => (2, 3, 4)).sayit
12:22 p6eval pugs, rakudo 4373f0: OUTPUT«2␤3␤4␤»
12:22 p6eval ..niecza v15-6-gefda208: OUTPUT«2 3 4␤»
12:22 moritz niecza++ is correct here
12:23 tadzik indeed
12:23 masak tadzik: if you think about it, it makes perfect sense? what's a public attribute? it's a private attribute with an (auto-generated) accessor method. so we just conflate the syntax of methods and public attributes.
12:23 pmichaud does that have a rakudobug ?
12:23 tarch_ joined #perl6
12:23 masak pmichaud: hm, I think so.
12:23 masak I think I submat it last time we tulk about it.
12:24 tadzik masak: Sure it is, but I'm amused nonetheless :)
12:24 pmichaud that should be really easy to fix
12:24 pmichaud since we already handle $( )   and @( )
12:24 moritz is @( foo ) short for foo.list or for list(foo) ?
12:24 pmichaud foo.list
12:24 masak pmichaud: https://rt.perl.org/rt3//Public/Bug/Display.html?id=111914
12:25 pmichaud masak: that bug seems different than this one
12:26 masak yeah, I'm thinking the same.
12:26 * masak submits this one
12:27 brrt joined #perl6
12:27 brrt thanks :-) from outside the object, obviously there is no way to access it w/o the method
12:27 moritz ... unless you go meta
12:27 moritz or cheat
12:28 brrt http://www.youtube.com/watch?v=AGBpIqROW9c
12:28 masak https://rt.perl.org/rt3/Ticket/Display.html?id=112236
12:28 brrt daskfj
12:28 pmichaud masak++
12:29 brrt oh, it was not my intention to post that, i'm sorry
12:29 brrt i thought my client was still disconnected
12:31 moritz any students here who would like to get paid for hacking on rakudo this summer?
12:31 brrt oh yes, me me :-)
12:31 pmichaud paid? students?  how do I become a student then?  ;-)
12:31 moritz pmichaud: enroll at your university of choice
12:31 brrt although i probably do not have nearly the required skills
12:32 masak aw, don't say that.
12:32 moritz brrt: there's the Google Summer of Code project
12:32 masak I don't speak for anyone else here, but personally I get lots done out of the depths of my incompetence :P
12:32 brrt i'm aware :-) i was actually hoping to implement bioperl6
12:32 masak oh, you're that guy!
12:33 brrt the same
12:33 masak brrt++
12:33 moritz brrt: the Parrot folks are offering to do some Rakudo projects through the parrot foundation, so if you're interested, talk to to the #parrot folks on irc.perl.org
12:33 moritz specifically whiteknight
12:33 pmichaud in my case, a lot of what I've accomplished was based on suspending any idea of what could(n't) be achieved :)
12:33 moritz brrt: and do it quick, because the student application deadline is Friday
12:33 brrt :-) thanks, i will
12:34 masak pmichaud: "in order to clear this level, you have to disregard all obstacles" :D
12:35 moritz what does &.foo mean, precisely?
12:36 masak hm.
12:36 masak by extension, it means &( self.foo ) :P
12:36 moritz and what does &( TERM ) mean?
12:36 * masak is such a big help
12:37 masak I have no idea.
12:37 pmichaud perhaps not the correct answer, but S13 has:
12:37 pmichaud The expected semantics of C<&.()> is that of a type coercion which may
12:37 pmichaud or may not create a new object.
12:37 pmichaud I think that's something different though.
12:37 masak it is.
12:37 moritz pmichaud: in that case, &.() is a short name for postcircumfix:<( )>
12:37 masak it's a short form of postcircumfix:<( )>
12:38 tadzik to it's a long, not a short ;)
12:38 pmichaud S12 has:
12:38 pmichaud &.foo(1,2,3);       # calls self.foo under & context
12:38 pmichaud &.foo.(1,2,3);      # &.foo().(1,2,3), call .() on closure returned by .foo
12:38 pmichaud which is what masak++ said :)
12:38 pmichaud and equally helpful, at that.  :)
12:38 moritz and what the heck does "under & context" mean?
12:39 masak it means under the context of something callable.
12:39 masak I mean, "I don't know"... :)
12:39 moritz masak.helpfulness == p6l.helpfulness # at least right now
12:40 pmichaud S03-operators mentions &() without any description of what it does :)
12:41 * moritz tries to patch $.foo to DWIS
12:46 pmichaud afk for a while
12:46 moritz patch compiles. Good.
12:47 * [Coke] sees pmichaud and au almost have a conversation on irc.
12:47 moritz and seems to do what it should. Great
12:47 [Coke] *boggle*
12:49 PerlJam Coke: Is that like a "crossing the streams" moment?  :)
12:49 masak [Coke]: that can't have been the first time, though. pm was doing PGE at the time Pugs broke into the physical universe.
12:50 PerlJam (gutenTag btw)
12:50 masak moritz: in a slightly more helpful vein, wouldn't it be enough to go as-strict-as-possible and say that only callable thingies (trivially) cast to callable, and everything else is an error?
12:50 moritz more like recrosssing the streams
12:51 masak at least until we know what the heck &(42) means.
12:52 PerlJam masak: +1
12:53 moritz ok, what's the method call for that?
12:54 moritz $ => item, % => hash, @ => list, & => code?
12:54 masak wfm
12:54 masak they're all 4lw, which is cute.
12:55 PerlJam indeed
12:55 * masak wants a t-shirt with those four pairs
12:55 moritz "and I heard you said that code is just a four-letter word" -- Joan Baez. Very nearly.
12:55 au rehi pmichaud! \o </timeDilatedConversation>
12:56 Araq joined #perl6
12:56 PerlJam YAPC 2008 (?) in Chicago had t-shirts with stars from the Chicago flag replaced with $ @ % &  IIRC
12:57 PerlJam Adding the method names seems like fodder for a future YAPC :)
12:57 jferrero joined #perl6
12:58 moritz eeks. Lots of fallout from the patch.
13:00 moritz n: class A { has %.h; method x { %.h<a> } }; say A.new(h => {a => 1 })
13:00 p6eval niecza v15-6-gefda208: OUTPUT«A.new(...)␤»
13:00 moritz n: class A { has %.h; method x { %.h<a> } }; say A.new(h => {a => 1 }).x
13:00 p6eval niecza v15-6-gefda208: OUTPUT«1␤»
13:05 masak r: say Date.new("2012-02-25")
13:05 p6eval rakudo 4373f0: OUTPUT«2012-02-25␤»
13:05 masak r: say Date("2012-02-25")
13:05 p6eval rakudo 4373f0: OUTPUT«Method 'Date' not found for invocant of class 'Str'␤  in <anon> at src/gen/BOOTSTRAP.pm:800␤  in any <anon> at src/gen/BOOTSTRAP.pm:797␤  in block <anon> at /tmp/q7LAlDjKnF:1␤␤»
13:05 masak r: .say for Date.new("2012-02-25") .. Date.new("2012-03-02")
13:05 p6eval rakudo 4373f0: OUTPUT«2012-02-25␤2012-02-26␤2012-02-27␤2012-02-28␤2012-02-29␤2012-03-01␤2012-03-02␤»
13:06 masak r: .say for Date.new("2011-02-25") .. Date.new("2011-03-02")
13:06 p6eval rakudo 4373f0: OUTPUT«2011-02-25␤2011-02-26␤2011-02-27␤2011-02-28␤2011-03-01␤2011-03-02␤»
13:06 masak \o/
13:10 moritz oh, I see why my patch has this much fallout
13:10 moritz $.foo desugaring to self.foo.item
13:10 masak yes?
13:10 moritz think about rw accessors
13:10 masak oh!
13:10 masak :/
13:10 moritz oh.
13:11 masak wouldn't the other forms, like @.foo, suffer from this as well?
13:11 moritz aye
13:11 masak because sometimes you want to @.foo = 1, 2, 3
13:11 masak except no-one ever does that.
13:13 moritz n: class A { has $.x; method set { $.x = 5 } }; given A.new { .set; say .x }
13:13 p6eval niecza v15-6-gefda208: OUTPUT«5␤»
13:14 masak waitaminnit.
13:14 moritz n: class A { has $.x; method set { $.x.item = 5 } }; given A.new { .set; say .x }
13:14 p6eval niecza v15-6-gefda208: OUTPUT«5␤»
13:15 masak that's a non-rw attribute.
13:15 moritz masak: niecza simply doesn't do ro/decontainerization
13:15 masak ah.
13:15 moritz iirc it's even in the feature matrix
13:15 moritz so, design problem.
13:16 moritz I can see two solutions
13:17 moritz 1) $.foo doesn't desugar to $.foo.item, but rather to some itemize primitive that doesn't affect rw-ness. Same for % and @
13:17 moritz 2) methods .item on Any and .list on Positional / .hash on Associative declare their invocant as rw, and their return value too
13:18 moritz for efficiency reasons I'd prefer 1
13:18 moritz maybe we can extend that to @(...) in general
13:19 moritz and if you use @(...) on something that isn't a Positional container, it could still call .list
13:19 moritz whereas $(...) could always itemize without requiring a method call
13:20 thou joined #perl6
13:21 PerlJam fwiw, #1 is how I imagined such things would work in general.
13:23 moritz hm, it might be that the $( ... ) -> ....item translation is indeed a rakudoism
13:24 dalek rakudo/nom: f607966 | moritz++ | tools/build/check-versions.pl:
13:24 dalek rakudo/nom: [build] recommend --with-parrot with absolute paths, because the build system does not like relative paths
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f607966935
13:24 dalek rakudo/accessor-sigils: 0082372 | moritz++ | src/Perl6/Actions.pm:
13:24 dalek rakudo/accessor-sigils: @.foo, $.foo and %.foo now enforce context
13:24 dalek rakudo/accessor-sigils:
13:24 dalek rakudo/accessor-sigils: Note that this breaks rw attributes
13:24 dalek rakudo/accessor-sigils: review: https://github.com/rakudo/rakudo/commit/008237200d
13:24 dalek rakudo/accessor-sigils: 915e0da | moritz++ | src/core/ (2 files):
13:24 dalek rakudo/accessor-sigils: be more careful with sigils in the setting
13:24 moritz when in doubt, branch
13:24 dalek rakudo/accessor-sigils: review: https://github.com/rakudo/rakudo/commit/915e0dac96
13:27 sftp joined #perl6
13:29 moritz branch, fork and spoon :-)
13:33 masak :)
13:34 masak moritz++
13:39 gianlucadv moritz: I would like to ask you about http://irclog.perlgeek.de/
13:39 moritz gianlucadv: sure. Feel free to /msg me if it's not related to this channel in particular
13:42 thou joined #perl6
13:47 _ilbot joined #perl6
13:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
13:51 agentzh joined #perl6
14:14 benabik joined #perl6
14:40 JimmyZ joined #perl6
14:46 benabik joined #perl6
14:50 [Coke] p: say (1,2,3).pick();
14:50 p6eval pugs: OUTPUT«2␤»
14:53 derrazo joined #perl6
14:54 masak r: say (1,2,3).roll();
14:54 p6eval rakudo 4373f0: OUTPUT«2␤»
14:54 masak p: say (1,2,3).roll();
14:54 p6eval pugs: OUTPUT«*** No such method in class Array: "&roll"␤    at /tmp/_N8HlqN5AA line 1, column 5-19␤»
14:54 * masak gets an itch in his programming fingers
14:54 moritz p: say (1,2,3).pick(5, :repl);
14:54 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&pick"␤    at /tmp/9I63TFPJHH line 1, column 5-27␤»
14:54 moritz p: say (1,2,3).pick(5, :rep);
14:54 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&pick"␤    at /tmp/QFO4ASpe45 line 1, column 5-26␤»
14:54 masak I mean, how hard could it be, to just add a .roll method? :)
14:54 colomon p: say (1,2,3).pick(5, :replace)
14:54 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&pick"␤    at /tmp/UhrIPeY7P4 line 1, column 5 - line 2, column 1␤»
14:55 masak could be that Pugs predates that named parameter.
15:00 colomon either that or it had a different name then.
15:04 [Coke] masak: I just fudged that spec test for you. have fun. ;)
15:04 [Coke] You'll want to implement "so" first, though.
15:05 dalek roast: 30d3be9 | coke++ | S32- (2 files):
15:05 dalek roast: pugs fudge
15:05 dalek roast: review: https://github.com/perl6/roast/commit/30d3be920e
15:05 moritz [Coke]: I had a branch for 'so'; did you try that?
15:05 dalek Pugs.hs: e5911bf | coke++ | t/spectest.data:
15:05 dalek Pugs.hs: run (fudged) tests
15:05 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/e5911bf8c3
15:05 [Coke] moritz: ISTR it failed to work.
15:05 moritz (or am I misremembering stuff?)
15:05 moritz :(
15:05 [Coke] I can try it again. momentito.
15:06 [Coke] perl6: say so 3
15:06 p6eval pugs: OUTPUT«*** No such subroutine: "&so"␤    at /tmp/jnJDVKvLCj line 1, column 5 - line 2, column 1␤»
15:06 p6eval ..rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«True␤»
15:06 [Coke] urk. I cannot build your so branch on feather.
15:07 [Coke] Preprocessing executable 'pugs' for Pugs-6.2.13.20120203...
15:07 [Coke] <command line>: cannot satisfy -package-id FindBin-0.0.5-c1291d79cbf3e04ef6f8304a7717f332:
15:09 [Coke] doing a clean, a cabal update, and a rebuild, now I'm getting pages of things like:
15:09 [Coke] package terminfo-0.3.2.3 is broken due to missing package
15:09 masak :/
15:09 masak still work to do on getting a working dev environment for Pugs, in other words.
15:10 [Coke] haven't done a build in weeks. I assume, perhaps, that ghc was updated.
15:10 moritz I get the same error on master
15:10 fsergot joined #perl6
15:10 spider-mario joined #perl6
15:10 fsergot hi o/
15:10 fsergot :)
15:10 [Coke] yah. I reinstalled, e.g. coke@feather:~/sandbox/Pugs.hs/Pugs$ cabal install text-0.11.1.13
15:11 [Coke] .. and now that error is gone from the build.
15:11 jlaire '
15:18 * [Coke] wishes for a "cabal rebuild everything"
15:20 moritz [Coke]: you're right, the 'so' branch doesn't work :/
15:21 masak fsergocie! \o/
15:21 [Coke] moritz: sorry, man.
15:25 [Coke] I can't build master or so on feather for pugs.
15:25 [Coke] No instance for (MonadIO (InputT IO))
15:26 moritz I did a git clean -xdf
15:26 moritz rm -rf ~/.ghc/
15:26 moritz and then  cabal install 'mtl < 2'
15:26 moritz then typed 'make', and then cabal install <all the packages it complained about>
15:27 masak I recognize that error. I think that's what I got in my attempts to get a working dev env on feather.
15:29 jlaire \
15:29 [Coke] so, how did our cabals get screwed up?
15:39 mucker joined #perl6
15:40 [Coke] blowing away ~/.ghc helped.
15:40 [Coke] build succeeds now.
15:42 masak \o/
15:47 Psyche^ joined #perl6
15:58 jferrero joined #perl6
16:07 brrt left #perl6
16:14 wolfman2000 joined #perl6
16:20 36DAA2WSX joined #perl6
16:20 18VAAD1KD joined #perl6
16:24 fglock joined #perl6
16:27 vlixes joined #perl6
16:47 tokuhirom joined #perl6
17:02 PZt joined #perl6
17:11 tokuhirom joined #perl6
17:12 timotimo are there any tools for profiling in rakudo? i've got some code that runs much faster than i feel it should
17:12 timotimo runs much slower*
17:13 benabik There's a profiling run core in Parrot, but I'm not familiar with how to use it and don't know if it works well with Rakudo.
17:14 lichtkind joined #perl6
17:16 timotimo should i be expecting slowness if i create many short-lived instances of a class? the class in question is my XYZ class that does a little bit of vector arithmetic. i use it as key into hashes a lot.
17:17 timotimo it's an immutable class so any arithmetic on it would create new instances, sometimes instances that will be thrown away instantly
17:19 Chillance joined #perl6
17:20 lichtkind any clue why thies doesnt work locally?
17:20 phenny lichtkind: 08:51Z <masak> tell lichtkind ask on p6l about $=POD vs $=pod. TheDamian hangs out there, and he's likely to reply.
17:20 lichtkind r: say '\\'
17:20 p6eval rakudo 4373f0: OUTPUT«\␤»
17:20 lichtkind k
17:21 geekosaur works for me locally... but if you;re using perl6 -e, be aware of shell quoting shenanigans
17:22 geekosaur specifically, the naive:  perl6 -e "say '\\'"  # will fail because the shell interprets \\ inside the doublequotes, so perl6 receives:  say '\'
17:22 lichtkind ah
17:22 lichtkind thanks
17:22 lichtkind \\\\ worked :)
17:24 gianlucadv left #perl6
17:28 colomon So, is someone going to implement Notch's DCPU-16 in Perl 6?
17:28 colomon http://0x10c.com/doc/dcpu-16.txt
17:29 colomon ;)
17:29 derrazo joined #perl6
17:32 benabik Wait, wait...  Mars Effect is a real game?
17:33 [Coke] benabik: as opposed to Mass Effect ?
17:33 benabik [Coke]: @notch posted that information about a game called "Mars Effect" on 4/1, with the note that the name was carefully chosen to avoid any lawsuits like over Scrolls.
17:34 benabik I hadn't heard that it's actually a game.  Although, obviously, not called Mars Effect
17:53 derrazo doo hoo hoo
17:54 derrazo it's like what
17:54 derrazo 0x10c now?
17:54 benabik derrazo: Yup
17:59 skids joined #perl6
18:00 simcop2387 joined #perl6
18:00 havenn joined #perl6
18:04 spaceships joined #perl6
18:10 spider-mario r: constant $x = m/42/
18:10 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Method 'match' not found for invocant of class 'Mu'␤»
18:10 spider-mario r: constant $x = /42/
18:10 p6eval rakudo 4373f0:  ( no output )
18:10 spider-mario why does this happen?
18:11 benabik r: $_ = 'test';  say m/es/
18:11 p6eval rakudo 4373f0: OUTPUT«=> <es>␤␤»
18:11 benabik r: $_ = 'test';  say /es/
18:11 p6eval rakudo 4373f0: OUTPUT«_block1011␤»
18:11 spider-mario p6: constant $x = m/42/
18:11 PerlJam the first one tries to match against $_ and store the result in $x.  The second one just stores the pattern in $x
18:11 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method match in class Any␤  at /tmp/VGKyKPUmD7 line 1 ($x init @ 2) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/src/NieczaBackendDotnet.pm6 line 0 (downcall @ 1) ␤  at /home/p6eval/niecza/src/Nie…
18:11 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
18:11 p6eval ..rakudo 4373f0: OUTPUT«===SORRY!===␤Method 'match' not found for invocant of class 'Mu'␤»
18:11 spider-mario oh, ok
18:11 spider-mario thanks
18:11 derrazo left #perl6
18:11 PerlJam r: m/42/
18:11 p6eval rakudo 4373f0: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <anon> at /tmp/oMhkcncqcx:1␤␤»
18:12 PerlJam that's interesting.
18:12 * PerlJam wonders where the divide is between Any and Mu there
18:12 spider-mario r: given 'there is a 42 in here' {m/42/; $/.perl.say}
18:12 p6eval rakudo 4373f0: OUTPUT«Match.new(orig => "there is a 42 in here", from => 11, to => 13, ast => Any, list => ().list, hash => EnumMap.new())␤»
18:12 spider-mario nice
18:12 PerlJam (How did $_ become either an Any or a Mu?)
18:13 spider-mario r: given 'there is a 42 in here' {m/42/.perl.say}
18:13 p6eval rakudo 4373f0: OUTPUT«Match.new(orig => "there is a 42 in here", from => 11, to => 13, ast => Any, list => ().list, hash => EnumMap.new())␤»
18:16 masak good eve, #perl6.
18:16 lichtkind hai hai
18:16 spider-mario o/
18:17 masak はいはい
18:17 spider-mario .ui coi
18:20 masak wow, Lojban.
18:21 spider-mario I’d like to actually be able to speak in it
18:22 spider-mario I barely know a few constructs and words
18:22 masak I hear it's possible to become fluent in it, though not that common.
18:22 * masak settles down for the evening, with a beer and Ch. 82 of HPMoR
18:23 spider-mario what is your native language, btw?
18:23 spider-mario (if I may ask)
18:23 masak phenny: "Svenska"?
18:23 phenny masak: "Swedish" (sv to en, translate.google.com)
18:23 spider-mario ok :)
18:24 spider-mario I didn’t know about phenny, what is it?
18:24 masak bot that keeps messages for us, and knows Unicode, and translates using GT.
18:24 spider-mario oh :)
18:25 spider-mario phenny: "merci pour l’explication"?
18:25 phenny spider-mario: "thank you for the explanation" (fr to en, translate.google.com)
18:25 masak phenny: tell spider-mario if you ever need to leave a message, this is how to do it. it's triggered with your next utterance on the channel.
18:25 phenny masak: I'll pass that on when spider-mario is around.
18:25 spider-mario great :D
18:25 phenny spider-mario: 18:25Z <masak> tell spider-mario if you ever need to leave a message, this is how to do it. it's triggered with your next utterance on the channel.
18:25 masak .u smiling
18:25 phenny U+263A WHITE SMILING FACE (☺)
18:25 spider-mario .u pile
18:25 phenny spider-mario: Sorry, no results for 'pile'.
18:26 spider-mario and yet there is http://www.fileformat.info/info/unicode/char/1f4a9/index.htm
18:26 masak yeah, phenny doesn't have the latest silliness from the Unicode Consortium.
18:26 masak also, I don't know why that character is everyone's favorite when there's WOMAN WITH BUNNY EARS.
18:27 arnsholt spider-mario: BTW, did I see you mentioning that you're in Rouen?
18:27 spider-mario yes
18:27 arnsholt Cool. I lived there, some years back
18:27 spider-mario oh :)
18:27 arnsholt Almost ten years actually, now that I think about it
18:27 pernatiy joined #perl6
18:28 lichtkind sir what is your opinion about my latest peace - U+1F4A9
18:28 lichtkind nuff said :)
18:29 lichtkind masak:  any pointer to things i aybe not adressed ?
18:31 thou joined #perl6
18:32 [Coke] # 04/04/2012 - rakudo++ ; niecza (95.44%); pugs (38.82%)
18:33 [Coke] niecza slips a bit, pugs gains.
18:33 benabik Wasn't pugs at like 5% a few weeks ago?
18:34 [Coke] https://gist.github.com/1476841#file_perl6_pass_rates
18:34 [Coke] # 02/21/2012 - niecza++ ; pugs (14.83%); rakudo (99.04%)
18:35 thou o/ everyone
18:35 [Coke] pugs has gone from 3009 passes on 2/21 to 8229 today.
18:35 masak lichtkind: I don't understand the context of your question? _all_ the things?
18:35 benabik Ah, %15.  Still awesome to see its meteoric rise.
18:35 lichtkind hi thou
18:35 [Coke] benabik: eh. mainly just fudging tests. hop on. ;)
18:35 thou hallo, lichtkind. long time no see :-)
18:36 lichtkind masak: some dirty corners of perl 6 i might not know
18:36 lichtkind yes
18:36 [Coke] though au++, moritz++, and masak++ have all poked at things to make it do a little more.
18:36 [Coke] er, whoops. 8276 today
18:36 lichtkind masak: we should get camelia into unicode
18:36 thou lichtkind: i've been out of perl6 land for a long time, still finding other things are higher on the list right now in my life
18:36 [Coke] (pushed)
18:36 benabik [Coke]: Brushing off the bit rot from tests is still progress.  :-)
18:36 brrt joined #perl6
18:36 thou but i still love it :-)
18:37 lichtkind thou: yes but i try to cataloge the lang
18:37 [Coke] I imagine I can hit 10K without writing more haskell.
18:40 lichtkind thou: im maybe longer there thatn you and when i come back so much has changed
18:40 masak lichtkind: I'll have a look.
18:41 masak lichtkind: by the way, providing a URL helps whenever you want others to look at something on the web ;)
18:41 thou i'm still there (or not fully here, that is). i'm occasionally peeking in to see where things are at.
18:42 lichtkind thou: may wanna help (its easy) :)
18:45 masak things are at: awesome, and improving.
18:45 masak r: $_ = "The answer seems to be 2 + 40"; s[\d+ \s* '+' \s* \d+] = eval ~$/; .say
18:45 p6eval rakudo 4373f0: OUTPUT«The answer seems to be 42␤»
18:45 masak \o/
18:46 flussence how much of pugs is written in plain perl6?
18:46 masak relatively little, IIRC.
18:46 masak most of the parsing stuff and the runtime are in Haskell.
18:47 tyatpi joined #perl6
18:47 brrt joined #perl6
18:48 * flussence wonders if various core bits written as perl6 could be separated out into a standard library that all impls can share
18:48 lichtkind allright my task for today sanitising all the contextualizers
18:50 lichtkind wick lacks like an old toilet
18:50 masak lichtkind: you still haven't provided a URL.
18:50 lichtkind masak: for what?
18:50 masak lichtkind: you asked me if anything was obviously missing.
18:50 masak lichtkind: I'm trying to access http://www.perlfoundation.org/perl6/index.cgi?perl_6_basics_tablet but I can't get through.
18:52 masak getting "could not connect to www.perlfoundation.org"
18:52 [Coke] flussence: I think that's a stretch goal. so far whenever we've tried to do that, different niecza & rakudo have implemented different other things, so it's never a straight copy.
18:53 [Coke] writing the perl6 parts that you can in perl6 cross-implementationally would require a lot of effort to figure out which stuff is core.
18:53 lichtkind masak right i thought ti was obvious mom
18:53 [Coke] (or CORE::, I suppose)
18:53 * masak is not lichtkind's mom :)
18:54 PerlJam maybe lichtkind has become british?  but then it would be "mum", wouldn't it?
18:54 arnsholt flussence: Common Lisp has parts of that I think. Apparently there's one implementation of the LOOP macro, and noone but the author really understands how it works =)
18:55 voraratis joined #perl6
18:55 masak lichtkind: my point isn't that it's not obvious where the information you want me to look at can be found. my point is that providing a URL makes it unambiguous where it can be found, and saves me work guessing.
18:55 masak lichtkind: besides, it may make others click through as well.
18:55 masak thirdly, it provides context in the IRC logs.
18:55 lichtkind masak: i understood it from staart i just wrestling for wiki access  myself
18:55 [Coke] is this work still happening under auspices of a grant, also? Having a URL would help in that case, too. ;)
18:56 voraratis joined #perl6
18:56 lichtkind that would be even better :)
18:56 masak lichtkind: why is providing a URL contingent on getting wiki access? don't you know where the stuff you're working with is located?
18:57 voraratis_ joined #perl6
18:57 lichtkind masak: becasue i was nervously fiddling to save my changes and was not paying full attention to the channel let alone copy the url
18:59 masak ok.
18:59 masak let me know when you are ready.
19:02 lichtkind http://www.perlfoundation.org/perl6/index.cgi?perl_6_index_tablet
19:02 lichtkind plus my precious clipboars was filled with data i had to store first
19:03 benabik TPF's site seems to be non-responsive.  :-/
19:03 * masak envisions a wild hog in the forest, keeping sheets of paper together
19:03 benabik masak++
19:07 lichtkind the call frame method "line" tells me count of lines or first line of a sub?
19:08 brrt p6eval: say [max] <39 29 10 48>
19:09 masak what method is that? where did you read about it?
19:09 masak brrt: 'r' or 'n' or 'p6'
19:09 Araq are there any efforts to provide a luajit backend for perl6?
19:09 brrt p6: say [max] <39 28 40 11>
19:09 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«40␤»
19:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "28"␤    expecting operator, ":" or ","␤    at /tmp/esyiVW2dvF line 1, column 15␤»
19:09 lichtkind masak: in the synopsis for routines :)
19:09 masak r: say [max] <2 11>
19:09 p6eval rakudo 4373f0: OUTPUT«2␤»
19:10 masak n: say [max] <2 11>
19:10 p6eval niecza v15-6-gefda208: OUTPUT«11␤»
19:10 masak inneresting.
19:10 * masak submits rakudobug
19:10 brrt max compares them as strings, seems to be the explanation
19:10 masak lichtkind: ok, I'll just find that synopsis myself then, and try to find the reference in question.
19:11 masak brrt: they are strings.
19:11 [Coke] buubot_backup: say 3
19:11 buubot_backup [Coke]: Couldn't match input.
19:11 masak brrt: actually, they are weird Str/Int hybrids, and the Int aspect should probably win when sorting.
19:12 brrt i would hope so
19:14 wolfman2000 joined #perl6
19:15 lichtkind masak: http://feather.perl6.nl/syn/S06.html#The_callframe_and_caller_functions
19:15 masak thank you ;)
19:16 brrt p6: say <9 10 200>.sort
19:16 p6eval rakudo 4373f0: OUTPUT«10 200 9␤»
19:16 p6eval ..pugs: OUTPUT«102009␤»
19:16 p6eval ..niecza v15-6-gefda208: OUTPUT«9 10 200␤»
19:16 masak lichtkind: I take it as meaning "the current line", where we're running right now.
19:16 lichtkind masak: but its underspacced
19:17 masak brrt: aye, same problem.
19:17 masak lichtkind: granted. but you asked what it meant, and that's my interpretation.
19:17 masak lichtkind: I find neither "count of lines" or "first line of a sub" makes much sense.
19:17 lichtkind masak: but on the searchlight, this is a case for toady-man
19:18 lichtkind masak: true
19:19 spider-mario the behavior varies between (rakudo, pugs) and niecza
19:20 spider-mario r and p sort as strings
19:20 spider-mario (+ pugs does’n insert spaces when it stringifies)
19:20 spider-mario niecza sort them as integers
19:20 spider-mario sorts*
19:20 brrt masak: is there a way to convert them to ints
19:20 spider-mario ».Int
19:21 masak p6: say <9 10 200>».Int.sort
19:21 p6eval pugs: OUTPUT«910200␤»
19:21 p6eval ..rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«9 10 200␤»
19:21 masak spider-mario++
19:21 birdwindupbird joined #perl6
19:21 spider-mario :)
19:22 masak I still can't determine whether (1) we're in the middle of things, and stuff like this is shining through and making Str/Int duality seem like a really bad idea, or (2) the Str/Int duality is a really bad idea.
19:22 Araq (2)
19:23 brrt i'm not sure either
19:23 brrt i usually like it
19:23 geekosaur I had the notion we were trying to get away from it, as one of the more annoying p5-isms
19:24 geekosaur having it suddenly come back still seems like something is wrong somewhere
19:24 flussence reminds me of Scalar
19:25 masak geekosaur: no, Perl 6 has never been trying to get away from it. the Cool type sort of manifests the fact that we still like auto-casting between various scalar types.
19:25 benabik n: <5 6>[0].WHAT.say
19:25 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Attempted to access slot $!value of type object for IntStr␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (Str.say @ 1) ␤  at /tmp/1t0SRx5NAI line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at …
19:25 [Coke] I would love to see more explanations of things like this next to the spec. "here's why this was added in"
19:25 benabik ...  That's not what I was expecting.
19:25 benabik n: <5 6>».WHAT.say
19:25 p6eval niecza v15-6-gefda208: OUTPUT«IntStr() IntStr()␤»
19:26 masak geekosaur: but the <1 2 3> syntax, along with command-line arguments, is special in that it tries to "guess" what type things "really" are, besides being ordinary strings.
19:27 masak flussence: I never understood what Scalar is doing in the spec. I think I've had it explained to me a few times. it's something like a scalar container, analogously with Array or Hash.
19:27 spider-mario I didn’t know there was actually such a thing as IntStr
19:27 masak flussence: but it just seems to be that it means a hundred things and nothing whenever it's used in the spec.
19:27 brrt p6: <5 6>>>.WHAT.say
19:27 masak spider-mario: there isn't. that's just Niecza's name for it.
19:27 p6eval rakudo 4373f0: OUTPUT«Parcel()␤»
19:27 p6eval ..niecza v15-6-gefda208: OUTPUT«IntStr() IntStr()␤»
19:27 p6eval ..pugs: OUTPUT«StrStr␤»
19:28 spider-mario ok
19:28 masak r: say <5 6>[0].^name
19:28 p6eval rakudo 4373f0: OUTPUT«Str␤»
19:28 masak r: say <5 6>[0].WHAT
19:28 p6eval rakudo 4373f0: OUTPUT«Str()␤»
19:28 masak hm.
19:29 NamelessTee joined #perl6
19:29 masak r: say 5 ~~ Int
19:29 p6eval rakudo 4373f0: OUTPUT«True␤»
19:29 masak r: say <5 6>[0] ~~ Int
19:29 p6eval rakudo 4373f0: OUTPUT«False␤»
19:29 masak huh :)
19:29 brrt anyway... you could probably solve by modifying max to convert to int
19:30 brrt but what happens then, if you use [max] <9 10 200 foobar>
19:32 spider-mario 'foobar'.Int = 0
19:32 spider-mario r: <9 10 200 foobar>».Int.perl
19:32 p6eval rakudo 4373f0:  ( no output )
19:32 spider-mario r: <9 10 200 foobar>».Int.perl.say
19:32 p6eval rakudo 4373f0: OUTPUT«(9, 10, 200, 0)␤»
19:32 masak spider-mario: no, it's a conversion error.
19:33 masak brrt: right. we remind ourselves of this problem once in a while. same with &sort, for example.
19:33 spider-mario not in rakudo, appearently
19:33 masak spider-mario: no, rakudo is lagging.
19:33 spider-mario n: <9 10 200 foobar>».Int.perl.say
19:33 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Cannot parse number: foobar␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3405 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3407 (NumSyntax.str2num @ 4) ␤  a…
19:33 spider-mario indeed
19:33 brrt p6: { my $input = "9 10 200"; my @data = $input.split(' '); say @data.sort }
19:33 spider-mario that’s a good thing
19:33 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«10 200 9␤»
19:33 p6eval ..pugs: OUTPUT«102009␤»
19:33 spider-mario I’d have disliked it being the expected result
19:34 masak brrt: converting to a number won't fly, because &sort and [min] and [max] aren't numeric by default. they adapt to the type they're comparing.
19:34 masak brrt: and if two objects in the list can't be compared, they fail.
19:34 spider-mario p6: <9 10 200 foobar>.sort.perl.say
19:34 p6eval niecza v15-6-gefda208: OUTPUT«(val("9"), val("10"), val("200"), "foobar").list␤»
19:34 p6eval ..pugs, rakudo 4373f0: OUTPUT«("10", "200", "9", "foobar")␤»
19:35 spider-mario p6: <9 10 200 foobar>.max(*.Int).perl.say
19:35 p6eval rakudo 4373f0: OUTPUT«"200"␤»
19:35 p6eval ..pugs: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505106845862982399472…
19:35 p6eval ..niecza v15-6-gefda208: OUTPUT«Unhandled exception: Cannot parse number: foobar␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3405 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3407 (NumSyntax.str2num @ 4) ␤  a…
19:35 spider-mario whence pugs’ output?
19:35 spider-mario p: 'foobar'.Int
19:35 p6eval pugs:  ( no output )
19:35 spider-mario p: 'foobar'.Int.say
19:35 p6eval pugs: OUTPUT«0␤»
19:36 spider-mario I can’t see where it could possibly come from
19:36 spider-mario p: <9 10 200 foobar>.map(*.Int).perl.say
19:36 p6eval pugs: OUTPUT«*** Cannot cast from VList [VInt 1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105…
19:36 spider-mario hm
19:37 spider-mario p: <9 10 200 foobar>».Int.perl.say
19:37 p6eval pugs: OUTPUT«(9, 10, 200, 0)␤»
19:37 spider-mario p: <9 10 200 foobar>.map({.Int}).perl.say
19:37 p6eval pugs: OUTPUT«(9, 10, 200, 0)␤»
19:37 benabik p: say *.Int
19:37 p6eval pugs: OUTPUT«1797693134862315907729305190789024733617976978942306572734300811577326758055009631327084773224075360211201138798713933576587897688144166224928474306394741243777678934248654852763022196012460941194530829520850057688381506823424628814739131105408272371633505106845862982399472…
19:37 spider-mario Whatever causes stranges issues
19:37 spider-mario oh
19:37 spider-mario appearently, it’s as simple as that
19:37 spider-mario .
19:38 masak yeah.
19:38 benabik I think pugs doesn't do WhateverCode
19:38 masak probably some sort of MAXINT, albeit with arbitrary precision.
19:38 masak Pugs does indeed not do WhateverCode. it predates it.
19:39 brrt predates, as in eats?
19:39 spider-mario :D
19:39 benabik pre-date is a palm tree
19:42 TimToady Araq: diakopter was doing something with a lua backend, but I think he gave up on it
19:43 Araq ok thanks, TimToady
19:44 pernatiy joined #perl6
19:46 tt joined #perl6
19:46 tt hello
19:47 Guest2724 hello
19:47 brrt hello
19:47 sjohnson 8hello
19:47 spider-mario hello
19:47 sjohnson oops
19:47 sjohnson i blew it
19:48 spider-mario after a non-prime number of occurrences
19:48 spider-mario :(
19:48 spider-mario (unless mine has come too late)
19:52 lichtkind hurray wiki works
19:52 lichtkind masak: please check just that table http://www.perlfoundation.org/perl6/index.cgi?perl_6_lookup_tablet#contextualizers
19:53 moritz \o
19:54 lichtkind hai moritz
19:58 nebuchadnezzar joined #perl6
20:03 masak lichtkind: it's too bad things don't line up well since it's not a monospaced font.
20:04 masak lichtkind: &() => code()
20:04 lichtkind im working on formating
20:04 lichtkind that will come s soon
20:04 lichtkind thatnk i missed code()
20:04 lichtkind thanks
20:04 lichtkind thatswhy i asked
20:05 masak apart from that, it looks fine.
20:06 lichtkind thank you
20:11 cognominal_ is there a bug filed about the nqp/nqpq shell being broken?
20:11 brrt whats the best mailing list to subscribe to
20:12 brrt for dev discussions
20:12 moritz perl6-users@perl.org
20:12 cognominal_ I answer my own quesiton yes, I filed it  http://code.activestate.com/lists/perl6-compiler/7620/
20:20 lichtkind masak: formating is fixed and code to main index added too
20:23 tadzik good evening!
20:24 flussence ooh, I just found http://www.mono-project.com/Mono_LLVM - anyone tried it on niecza?
20:25 tyatpi joined #perl6
20:25 flussence (and I just realised gentoo's mono doesn't seem to have llvm support at all, bah)
20:29 lichtkind tadzik: hai
20:33 localhost joined #perl6
20:36 lichtkind hope to scratch the 800 this weak
20:36 tadzik 800?
20:37 moritz didn't we already have 1000 this week?
20:37 moritz whatever those numbers mean :-)
20:38 lichtkind moritz: i mean entires in index A and no we just past 700 5 days ago
20:38 derrazo joined #perl6
20:39 lichtkind i just wondered if there are 1000 possible
21:04 * jnthn home
21:04 iDzik hello jnthn
21:05 [Coke] jnthn: yay, safe travels.
21:05 [Coke] jnthn: how was the 80 hour flight? ;)
21:05 jnthn [Coke]: It departed 8 hours late.
21:05 iDzik ohh
21:05 jnthn [Coke]: Then the bus (this is crazy) from the plane to the terminal at Frankfurt that I was on got in an accident. :/
21:05 * jnthn only got a few cuts
21:06 huf that's like a 2minute bus ride, what :/
21:06 jnthn Right.
21:06 jnthn How the hell did they screw that up. :/
21:06 huf what did the bus hit? another bus? one of those flat towy things?
21:07 [Coke] jnthn: YIKES
21:07 jnthn The latter, and it actually managed not to hit it, but braked sharply enough to send everyone who was standing up flying. :/
21:07 huf oh :(
21:08 jnthn Anyway, I'm basically fine. Just tired, and home quite a bit later than planned.
21:08 bbkr joined #perl6
21:08 jnthn $dayjob were kind enough to cancel tomorrow morning's meeting though. :)
21:09 [Coke] \o
21:09 [Coke] er, \o/
21:09 colomon o/
21:10 iDzik gosh, glad you're ok
21:12 jnthn Anyways, the rest of the vacation was all very nice. :)
21:13 jnthn Once I'm caught up on sleep, I look forward to digging back in to Rakudo.
21:16 jnthn ooh, pmichaud++ dropped by with another patch :)
21:26 cognominal_ I can't wait to see you both on track to see rakudo dev back to cruise speed
21:27 masak jnthn! \o/
21:27 jnthn o/ masak
21:28 masak jnthn: I guess you're about to go to sleep.
21:28 masak jnthn: glad to hear you're safe, and not mortally wounded in the bus accident.
21:29 jnthn masak: Will sleep soonish, just having a little snack first. My body thinks it's dinner time...
21:29 jnthn masak: You managed to post from the future again on Planetsix :P
21:29 cognominal_ :)
21:29 masak yeah :/
21:30 cognominal_ wish he could send patch from the future
21:30 masak moritz++ suggests I put in a check for this in my blogging tool. I will do this.
21:30 masak cognominal_: all of Perl 6 is a patch from the future ;)
21:31 cognominal_ except the future is slow to percolate back into the present.
21:32 jnthn At least we'll be leaving the PAST behind soon...
21:32 jaldhar joined #perl6
21:33 masak \o/
21:33 masak maybe even tomorrow.
21:33 cognominal_ jnthn++
21:33 jnthn masak: I think the transition will take more than a day :P
21:33 iDzik will we be using FUTURE now? ;)
21:33 cognominal_ we will be QAST in the future?
21:34 jnthn .oO( QAST::Lots )
21:36 * masak .oO( the PAST wasn't abandoned in a single day )
21:36 jnthn .oO( the PAST was slowly QAST away )
21:41 lichtkind r: %h = 1=>2, 3=>4; say %h.end
21:41 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Variable %h is not declared␤at /tmp/IBjgGEYRrO:1␤»
21:41 lichtkind r: %h = 1=>2, 3=>4; say  @(%h).end
21:41 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Variable %h is not declared␤at /tmp/26cSF_71x6:1␤»
21:41 lichtkind r: my %h = 1=>2, 3=>4; say  @(%h).end
21:41 p6eval rakudo 4373f0: OUTPUT«1␤»
21:41 lichtkind r: my %h = 1=>2, 3=>4; say  %h.end
21:41 p6eval rakudo 4373f0: OUTPUT«1␤»
21:42 lichtkind thats strange
21:42 lichtkind i expected a pair
21:43 jnthn r: my %h = 1=>2, 3=>4; say  @(%h).perl
21:43 p6eval rakudo 4373f0: OUTPUT«("1" => 2, "3" => 4).list␤»
21:43 jnthn r: my @a = <foo bar baz>; say @a.end
21:43 p6eval rakudo 4373f0: OUTPUT«2␤»
21:43 jnthn lichtkind: .end doesn't give you the item at the end, it gives you the end index
21:44 masak I also once thought .end would give you the last item. it doesn't.
21:44 masak .end is the Perl 6 equiv of $#array
21:45 masak so often it simply corresponds to .elems - 1
21:45 lichtkind yes thathow i wrote it but i was curious how reacts on hashes
21:46 lichtkind was not thinking that clear
21:46 Araq masak: what do you mean "often .elems-1" ?
21:46 lichtkind elems is amount of elements of a list
21:46 IngisKahn joined #perl6
21:47 masak Araq: well, you can declare arrays to have other indexing schemes.
21:47 lichtkind do +@a or @a.elems
21:47 TimToady only by using .{} instead of .[]
21:47 TimToady .[] is always 0-based
21:47 masak right.
21:48 lichtkind $[ finally died hurayyyyy :)
21:48 lichtkind i mean in perl 5 too
21:48 masak I also don't quite remember how multi-dim arrays declare their .end
21:48 TimToady eval: say $[
21:48 buubot_backup TimToady: ERROR: Can't locate arybase.pm in @INC (@INC contains:) at (eval 20) line 2. BEGIN failed--compilation aborted at (eval 20) line 2.
21:48 masak hopefully in a sensible way :)
21:48 IngisKahn left #perl6
21:50 TimToady the sensible way might be to refuse to honor .end :)
21:54 masak well, even a multidimensional array has a first dimension.
22:03 TimToady the problem is that a multi-dim array has more than one end
22:04 TimToady and multi-dim array subscripts are rather like surreal numbers
22:05 masak I don't immediately see the connection.
22:06 * masak .oO( sorear numbers )
22:09 Araq nothing in computing is like surreal numbers; computing is all about *discrete* math
22:10 TimToady Perl 6 has many indiscretions :)
22:12 * TimToady wonders if there will be a better way to write http://rosettacode.org/wiki/Identity_matrix after S09 is implemented
22:13 spider-mario S09 looks really promising
22:14 TimToady well, other than turning @id[$i][$j] into @id[$i;$j]
22:14 spider-mario I wish I were able to contribute to one of its implementations
22:14 spider-mario (I could say that for a lots of things)
22:15 TimToady realistically, it's probably faster to clear a batch of memory to 0's and then set @id[$i;$i] = 1
22:15 Araq TimToady: just make it another built-in operator  \\??&56 # produce identity(65)
22:15 spider-mario :D
22:17 Araq or perhaps  |\| 56
22:17 Araq that even looks like ascii art for an identity matrix
22:18 masak TimToady: http://en.wikipedia.org/wiki/Kronecker_delta
22:19 Tene @id .= δ;
22:19 TimToady perl6: .say for ([1, 0 xx 5-1], *.rotate ... *)[^5]
22:19 p6eval niecza v15-6-gefda208: OUTPUT«1 0 0 0 0␤0 0 0 0 1␤0 0 0 1 0␤0 0 1 0 0␤0 1 0 0 0␤»
22:19 p6eval ..rakudo 4373f0: OUTPUT«1 0 0 0 0␤0␤0␤0␤0␤»
22:19 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/GaIyoJuBrC line 1, column 41␤»
22:19 TimToady whoops
22:19 TimToady perl6: .say for ([1, 0 xx 5-1], *.rotate(-1) ... *)[^5]
22:19 masak off-by-some :)
22:19 p6eval niecza v15-6-gefda208: OUTPUT«1 0 0 0 0␤0 1 0 0 0␤0 0 1 0 0␤0 0 0 1 0␤0 0 0 0 1␤»
22:19 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/_y5HmFAdUO line 1, column 45␤»
22:19 p6eval ..rakudo 4373f0: OUTPUT«1 0 0 0 0␤0␤1␤0␤0␤»
22:20 TimToady um...
22:20 TimToady rakudobug?
22:20 masak seemingly.
22:20 * masak submits it
22:21 TimToady perl6: .say for ([1, 0 xx 5-1], *.rotate(-1).Array ... *)[^5]
22:21 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method Array in class Parcel␤  at /tmp/fjGCQhWYb3 line 1 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3115 (ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3122 (ANON @ 17) ␤  at <unknown> line …
22:21 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/vYNECUwYYn line 1, column 51␤»
22:21 p6eval ..rakudo 4373f0: OUTPUT«1 0 0 0 0␤0␤1␤0␤0␤»
22:21 TimToady perl6: .say for ([1, 0 xx 5-1], { [.rotate(-1)] } ... *)[^5]
22:21 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Method call found where infix expected (change whitespace?) at /tmp/jJEchhwcQ9 line 1:�------> [32m.say for ([1, 0 xx 5-1], { [[33m�[31m.rotate(-1)] } ... *)[^5][0m��Parse failed��»
22:21 p6eval ..rakudo 4373f0: OUTPUT«1 0 0 0 0␤0 1 0 0 0␤0 0 1 0 0␤0 0 0 1 0␤0 0 0 0 1␤»
22:21 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/v7DYQRMOSF line 1, column 50␤»
22:22 TimToady huh, niecza is trying to parse it as a reduction
22:22 TimToady perl6: .say for ([1, 0 xx 5-1], { [ .rotate(-1) ] } ... *)[^5]
22:22 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«1 0 0 0 0␤0 1 0 0 0␤0 0 1 0 0␤0 0 0 1 0␤0 0 0 0 1␤»
22:22 p6eval ..pugs: OUTPUT«*** unknown parse error␤    at /tmp/3jJwelWhrj line 1, column 52␤»
22:22 * masak submits nieczaissue
22:22 spider-mario -> $n {.say for ([1, 0 xx $n - 1], {[.rotate: -1]} ... *)[^$n]}.(5)
22:22 spider-mario oops
22:22 spider-mario r: -> $n {.say for ([1, 0 xx $n - 1], {[.rotate: -1]} ... *)[^$n]}.(5)
22:22 p6eval rakudo 4373f0: OUTPUT«1 0 0 0 0␤0 1 0 0 0␤0 0 1 0 0␤0 0 0 1 0␤0 0 0 0 1␤»
22:23 spider-mario r: -> $n {([1, 0 xx $n - 1], {[.rotate: -1]} ... *)[^$n]}.(5).perl.say
22:23 p6eval rakudo 4373f0: OUTPUT«([1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1])␤»
22:24 TimToady yes, Array.rotate is specced to return Array, not list, so rakudobug
22:24 masak it's now in RT.
22:24 masak https://rt.perl.org/rt3/Ticket/Display.html?id=112256
22:24 TimToady RT is short for rotate, right?
22:25 masak :P
22:25 colomon std: .say for ([1, 0 xx 5-1], { [.rotate(-1)] } ... *)[^5]
22:25 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Method call found where infix expected (change whitespace?) at /tmp/GMpwlVpWB1 line 1:â�¤------> [32m.say for ([1, 0 xx 5-1], { [[33mâ��[31m.rotate(-1)] } ... *)[^5][0mâ�¤    expecting infix or meta-infixâ�¤Parse failedâ�¤FAILED 00:00 43mâ�¤Â»â€¦
22:27 spider-mario std: -> $n {([1, 0 xx $n - 1], {[.rotate: -1]} ... *)[^$n]}.(5).perl.say
22:27 p6eval std 1ad3292: OUTPUT«ok 00:00 45m␤»
22:27 spider-mario std: -> $n {([1, 0 xx $n - 1], {[.rotate(-1)]} ... *)[^$n]}.(5).perl.say
22:27 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Method call found where infix expected (change whitespace?) at /tmp/wwhCTNvJK_ line 1:â�¤------> [32m-> $n {([1, 0 xx $n - 1], {[[33mâ��[31m.rotate(-1)]} ... *)[^$n]}.(5).perl.say[0mâ�¤    expecting infix or meta-infixâ�¤Parse failedâ�¤FAILED…
22:27 spider-mario oh
22:27 masak TimToady: anyway, my ideal way of spec'ing I($n) would be mapping δ($i, $j) with some variant of &map that respected the shape of arrays :)
22:29 masak sub I($n) { shape-map -> $i, $j { δ($i, $j) }, (^$n X ^$n) }
22:29 masak one can dream.
22:32 TimToady that's a bit too APLish for my Poohbrane
22:32 Araq make 'shape-map' a type inspecting macro and it should work
22:33 Araq er, sorry, my brain was thinking in another programming language
22:33 masak well, I'm wondering whether the ordinary &map shouldn't be made to respect shape.
22:34 tyatpi_ joined #perl6
22:34 * jnthn -> sleep
22:34 jnthn catch y'all tomorrow
22:35 TimToady respect in the sense of ignore, maybe
22:35 wolfman2000 joined #perl6
22:35 masak respect in the sense of shape(out) === shape(in)
22:35 TimToady that's what I meant :)
22:35 masak ok. in maths, we call "ignore" "respect" :P
22:36 TimToady but also as in applying the mapping to each leaf regardless of its location
22:36 masak right.
22:37 masak much like »op, I guess.
22:38 timotimo FWIW, perf helped me see what's wrong with my program. it's 10% pool_allocate from Parrot_perl6_box_int_p_i
22:38 TimToady except that it might be more tightly tracked to the actual declared shape
22:38 masak anyway. I'll sleep now, and dream of maps over shaped data structures. 'night
22:38 TimToady o/
22:39 lichtkind buy buy :)
22:39 timotimo 5% from parrot_hash_get_bucket_string and 50% of that is from Parrot_sub_find_pad
22:40 timotimo not sure what exactly that is, but i believe it has to do with lots of hash accesses?
22:43 dalek std: 3d13d53 | larry++ | STD.pm6:
22:43 dalek std: fix [.rotate] parse problem
22:43 dalek std: review: https://github.com/perl6/std/commit/3d13d531c2
23:08 Araq left #perl6
23:30 tokuhirom joined #perl6
23:34 envi_ joined #perl6
23:38 timotimo how come if 0 <= ($x + 1) <= 2 and 0 <= ($y + 1) <= 2 and 0 <= ($z + 1) <= 2 {
23:38 timotimo is a thousand times faster than
23:38 timotimo if $x & $y & $z == -1 | 0 | 1
23:38 timotimo -1 <= $x & $y & $z <= 1 is equally slow
23:38 timotimo the difference is really, really, really huge
23:39 fgomez joined #perl6
23:51 lichtkind i think only jnthn can answer that

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo