Camelia, the Perl 6 bug

IRC log for #perl6, 2013-01-18

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:01 jnthn timotimo: To go backwards.
00:01 timotimo oh, that's so blatantly obvious
00:05 sjohnson joined #perl6
00:09 pmurias jnthn: I'm too sleepy to fix that today
00:10 jnthn pmurias: There's a new day tomorrow ;)
00:11 diakopter maybe!
00:15 pmurias hopefully ;)
00:16 pmurias if there wasn't I'm not sure fixing java code is what I would be doing right now ;)
00:18 pmurias g'night
00:23 timotimo i hope i'm learning by osmosis here or something
00:31 kst` joined #perl6
00:32 bapa joined #perl6
00:44 * jnthn blug: http://6guts.wordpress.com/2013/0​1/18/a-quick-jvm-backend-update/
00:44 jnthn And now, sleep...hopefully &
00:45 diakopter o/
00:47 benabik joined #perl6
00:52 timotimo okay, time for a bit of sleeping things over, i think
00:54 timotimo my walk_block thing doesn't seem to work excellently yet. it only finds very few things: Baggy, &bag, &infix:<(.)>, &infix:<(+)> and Version. maybe i need to find_symbol(["QAST", "Block"]) instead of just QAST::Block.
01:00 timotimo nope, that did not help.
01:05 For-Odin joined #perl6
01:06 hypolin joined #perl6
01:07 timotimo hm, do i have to iterate through Stmts, too? or do i have to go through GLOBALish first, too?
01:10 anuby joined #perl6
01:46 stevan_ joined #perl6
01:58 anuby_ joined #perl6
02:02 FROGGS_ joined #perl6
02:03 swarley So, I'm still trying to get a hold on the P6 regular expressions, excuse me for my lack of knowledge on the subject I was just wondering if this is the correct usage of the :Nx directive
02:03 swarley token TkHexEscape { '\\x' [ :2x <TkHexDigit> <TkHexDigit> ] }
02:03 swarley err
02:03 swarley Only one occurance of <TkHexDigit> was intentional
02:20 PerlJam swarley: no.
02:21 PerlJam swarley: if you want to match something 2 times, then you'd use ** 2 like so:  token TkHexEscape { '\\x' <TkHexDigit> ** 2 }
02:21 swarley oh, okay
02:21 swarley That makes more sense syntax wise
02:27 swarley Also, I noticed that the {,} pair is no longer in the regex, how would you simulate its functionality?
02:27 fgomez joined #perl6
02:30 sorear use a Range
02:30 sorear <TkHexDigit> ** 2..4
02:30 swarley Oh, that's actually really neat
02:31 swarley And how would you express "at least 2, and infinitely more possible"
02:31 PerlJam swarley: 2..*
02:32 swarley oh, lol. Now I remember why I was so intrigued by p6
02:32 sorear this mirrors the syntax for open-ended ranges
02:33 sorear although I should note that the parsing is not actually unified in this case
02:33 sorear you can't just stick arbitrary perl 6 expression syntax into a regex unannounced
02:34 sorear there is, however, an escape mechanism to switch to expression syntax
02:34 sorear <TkHexDigit> ** {2**16} # match a lot of hex digits
02:35 PerlJam yeah, but that block has to return a range or a number otherwise Perl freaks out :)
02:35 swarley hm. Well, fortunately in this case I don't believe I have anything that requires something like that
02:38 PerlJam swarley: the regex syntax that still makes me a little giggly inside is %     / [ \d+ ]+ % ',' /
02:39 swarley o-O
02:39 PerlJam try that on strings like "57"  and "23,423,52,2"
02:40 swarley what does the modulus do in that case?
02:40 sorear [\d,?]*\d
02:40 sorear swarley: it's not a modulus operator; % declares the separator
02:40 swarley oh
02:41 sorear it can be used after any quantifier
02:41 * geekosaur doesn't mind it but then it looks a lot like the syntax he uses privately for such things (which uses phi)
02:41 sorear x+ % y matches x, xyx, xyxyx, ...
02:41 swarley So it's an arbitrary spacer?
02:42 sorear you could even do <foo> ** 3..5 % <bar>
02:42 sorear yes
02:42 swarley Oh that's nice. Much easier than a bunch of (?:)/[]
02:56 baijingjao joined #perl6
03:08 xenoterracide_ joined #perl6
03:11 stevan_ joined #perl6
03:23 xenoterracide joined #perl6
03:38 alec__ joined #perl6
03:38 SunilJoshi joined #perl6
03:41 orafu joined #perl6
03:56 For-Odin joined #perl6
04:05 cibs joined #perl6
04:07 anuby joined #perl6
04:20 kaleem joined #perl6
04:25 preflex_ joined #perl6
04:30 Targen joined #perl6
04:35 fgomez joined #perl6
05:24 telex joined #perl6
05:37 SamuraiJack joined #perl6
05:39 telex joined #perl6
05:39 simcop2387 joined #perl6
05:40 telex joined #perl6
05:41 For-Odin joined #perl6
05:56 tewk window 1
05:56 SunilJoshi joined #perl6
05:57 sorear you can shorten that to just "/w 1", or alt-1
05:57 shachaf /w is /who by default in my irssi
05:58 shachaf Maybe I should rebind it.
06:20 preflex joined #perl6
06:23 sevin joined #perl6
06:25 SunilJoshi joined #perl6
06:31 PacoAir joined #perl6
06:43 thou joined #perl6
06:47 SunilJoshi1 joined #perl6
06:50 quester joined #perl6
07:20 diakopter hm. allocating 4294967295 * sizeof(bigStruct) probably wasn't going to work
07:23 sorear is that -1?
07:23 diakopter mm hm
07:28 cibs joined #perl6
07:35 FROGGS joined #perl6
07:39 kaleem joined #perl6
07:42 kv_ joined #perl6
07:48 sqirrel joined #perl6
08:06 dayangkun joined #perl6
08:07 dayangkun joined #perl6
08:09 dayangkun joined #perl6
08:11 dayangkun joined #perl6
08:12 kv_ Hi, ppl!
08:13 FROGGS hi kv_
08:13 dayangkun joined #perl6
08:15 quester left #perl6
08:16 kv_ can you help with perl6 max operator?
08:16 FROGGS well, I can try
08:16 kv_ my $max=[max] -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:16 FROGGS r: my $max=[max] -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:16 p6eval rakudo 3a8d48: OUTPUT«61␤»
08:17 FROGGS r: say +'101'
08:17 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:17 kv_ how can I change type of sort from cmp to <=>?
08:19 FROGGS hold on
08:20 kv_ yes, in this case I can use  + or just remove '', but in common case I can't
08:21 FROGGS you can do the same like sort{$a <=> $b} in perl 6, but I cant remember the syntax right now
08:22 FROGGS r: my $max=sort { $^a <=> $^b } -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:22 p6eval rakudo 3a8d48: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:844␤  in sub infix:<-> at src/gen/CORE.setting:2818␤  in block  at /tmp/3v1E4IIVsB:1␤␤»
08:23 FROGGS r: my $max=sort { +$^a <=> +$^b } -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:23 p6eval rakudo 3a8d48: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:844␤  in sub infix:<-> at src/gen/CORE.setting:2818␤  in block  at /tmp/RtuxVe3cjy:1␤␤»
08:23 FROGGS r: my $max=sort { +$^a <=> +$^b } (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say;
08:23 p6eval rakudo 3a8d48: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/y9pqgRToCV:1â�¤------> [32mmy $max=sort { +$^a <=> +$^b } [33mâ��[31m(-101, 28, 9, 35, 61, 19, '101', 59, 3);[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤      â€¦
08:24 FROGGS r: my $max = (-101, 28, 9, 35, 61, 19, '101', 59, 3).sort { $^a <=> $^b }; $max.say;
08:24 p6eval rakudo 3a8d48: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/3OBCIUTaLG:1â�¤------> [32m, 28, 9, 35, 61, 19, '101', 59, 3).sort [33mâ��[31m{ $^a <=> $^b }; $max.say;[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤        infix or meta-infixâ�¤        â€¦
08:24 FROGGS damn it
08:24 FROGGS r: my $max=sort { +$^a <=> +$^b }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say;
08:24 p6eval rakudo 3a8d48: OUTPUT«-101 3 9 19 28 35 59 61 101␤»
08:24 FROGGS there you go
08:25 FROGGS r: my $max = sort { +$^b <=> +$^a }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); say $max[0];
08:25 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:25 kv_ my $max=max { $^a <=> $^b },  -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:25 FROGGS put "r: " before that
08:25 kv_ r: my $max=max { $^a <=> $^b },  -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:25 p6eval rakudo 3a8d48: OUTPUT«61␤»
08:26 FROGGS r: my $max=max { $^a.Num <=> $^b.Num }, (-101, 28, 9, 35, 61, 19, '101', 59, 3); $max.say;
08:26 p6eval rakudo 3a8d48: OUTPUT«61␤»
08:26 FROGGS I'm not sure why it does that
08:28 moritz r: say '101'.Num
08:28 kv_ in docs I read that I should use adverb to change sorting method from cmp to smth other
08:28 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:29 moritz r: say max :by(  { $^a <=> $^b } }, -101, 28, 9, 35, 61, 19, '101'
08:29 p6eval rakudo 3a8d48: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse expression in parenthesized expression; couldn't find final ')'â�¤at /tmp/LNtDalScR1:1â�¤------> [32msay max :by(  { $^a <=> $^b } [33mâ��[31m}, -101, 28, 9, 35, 61, 19, '101'[0mâ�¤    expecting any of:â�¤        postfixâ�¤   …
08:29 moritz r: say max :by(  { $^a <=> $^b } ), -101, 28, 9, 35, 61, 19, '101'
08:29 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:29 moritz ah yes, that seems to work
08:29 moritz withou the :by, it simply compared the block and the string as strings
08:31 kv_ r: my $max=[max :by{ $^a <=> $^b } ]  -101, 28, 9, 35, 61, 19, 101, 59, 3; $max.say;
08:31 p6eval rakudo 3a8d48: OUTPUT«-100␤»
08:31 kv_ %)
08:34 kv_ r: my $max=max :by{ $^a <=> $^b },  -101, 28, 9, 35, 61, 19, '101', 59, 3; $max.say;
08:34 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:34 FROGGS ":by" isnt that intuitive though
08:35 FROGGS moritz: morning, btw ;o)
08:35 kv_ amzng
08:35 kv_ thanks, guys!
08:35 moritz r: say ( -101, 28, 9, 35, 61, 19, '101', 59, 3).max: { $^a <=> $^b }
08:36 p6eval rakudo 3a8d48: OUTPUT«101␤»
08:36 moritz if you don't like adverbs, you can always use the method form :-)
08:36 moritz yes, :by is inconsistent with sort
08:36 dayangkun joined #perl6
08:41 Su-Shee good morning everyone!
08:43 moritz \o
08:50 FROGGS gmorning Su-Shee
08:51 fhelmberger joined #perl6
08:58 sorear o/ Su-Shee
09:17 dayangkun joined #perl6
09:18 dayangkun joined #perl6
09:18 Pleiades` joined #perl6
09:18 kv__ joined #perl6
09:20 kv__ left #perl6
09:23 * kv_ netrino
09:29 am0c joined #perl6
09:42 Psyche^ joined #perl6
09:46 SunilJoshi joined #perl6
09:53 dakkar joined #perl6
10:07 kresike joined #perl6
10:07 kresike hello all you happy perl6 people
10:08 FROGGS hi kresike
10:08 kresike FROGGS, o/
10:14 xinming_ joined #perl6
10:22 jnthn o/
10:24 nwc10 \o
10:26 FROGGS o|
10:28 sorear |o
10:28 tadzik ó
10:28 FROGGS .oO( united colors of #perl6 )
10:28 FROGGS hehe
10:29 sorear ō
10:29 tadzik United Kingdom Colours of Perl
10:29 nwc10 Orange!
10:29 sorear orange?
10:29 FROGGS acme?
10:31 nwc10 For this purpose I'm just his minion.
10:31 nwc10 Or maybe I'm just spoofing his meme.
10:50 Pleiades` joined #perl6
10:54 wk joined #perl6
11:00 nwc10 has parrot actually made its release yet?
11:04 grondilu joined #perl6
11:05 Su-Shee_ joined #perl6
11:40 masak nwc10: not according to parrot-dev, at least.
11:43 nwc10 Oh. :-( Get well soon, DukeLeto
11:46 masak FROGGS: I'm not head-over-heels in love with :by. it feels to me like its presence on various methods indicates that there's an abstraction there that could be factored out, not repeated everywhere we discover it makes sense.
11:46 masak FROGGS: more exactly, often you want to do an operation "under a transform", like the Swartzian transform. that's what :by is about, in all its incarnations.
11:47 masak sometimes you want to restore the initial values, doing the moral equivalent of an inverse transform. sometomes you want to keep the new values. sometimes you want to keep both old and new around.
11:48 FROGGS in case of max(), is there a usecase where you compare blocks?
11:49 FROGGS but I see the need for :by BLOCK in various cases, but maybe not for min() and max() ;o)
11:49 masak r: say max( -> $a? { say "one"! }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )()
11:50 p6eval rakudo 3a8d48: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/PJcCn162Zz:1â�¤------> [32msay max( -> $a? { say "one"![33mâ��[31m }, -> $a?, $b?, $c? { say "three!" }, -[0mâ�¤    expecting any of:â�¤        infix or meta-infixâ�¤        infix stopperâ�¤Â»
11:50 masak oops
11:50 masak r: say max( -> $a? { say "one!" }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )()
11:50 p6eval rakudo 3a8d48: OUTPUT«three!␤True␤»
11:50 masak r: max( -> $a? { say "one!" }, -> $a?, $b?, $c? { say "three!" }, -> $a?, $b? { say "two!" }, :by(*.count) )()
11:50 p6eval rakudo 3a8d48: OUTPUT«three!␤»
11:50 masak FROGGS: like that? max on blocks.
11:50 FROGGS what the
11:51 * masak .oO( "you think that's air you're breathing?" ) :P
11:51 FROGGS *g*
11:51 masak srsly tho, blocks are just objects. they have methods. calling a block is just a weird kind of method.
11:53 FROGGS well, I guess I get used to it, treating the first block special by automagic isnt a good thing in case you meant something else
11:54 FROGGS I was just thinking that sort and max are working the same somehow
11:55 masak we're still treating the first block as special!?
11:55 masak gee, I sure hope not.
11:56 jnthn For sort? I think so...
11:56 masak oh, for sort, yes.
11:56 masak hm.
11:56 masak that's not likely to want to change, either.
11:56 FROGGS I never said that
11:57 FROGGS I wouldnt change these kind of things at this point too
11:58 masak it's not even an "at this point" thing in this case.
11:58 masak the sort($BLOCK, *@LIST) thing goes way back.
11:59 masak Perl 6 is all about breaking tradition, but some things stay the way they are because they are inherently Perl.
11:59 dayangkun joined #perl6
12:00 masak TimToady tried to reverse the parameters of split once, I think. it got into the spec and into Rakudo, but it had to be reverted once we tried it out in the ecosystem. :)
12:00 masak the change was just too weird.
12:00 masak even though it got more consistent with other methods or something.
12:01 dalek nqp-jvm-prep: ba7a5bf | jnthn++ | lib/QAST/JASTCompiler.nqp:
12:01 dalek nqp-jvm-prep: Start to port code-gen for SCs.
12:01 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/ba7a5bfdc0
12:01 dalek nqp-jvm-prep: 248a860 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files):
12:01 dalek nqp-jvm-prep: Add SC data structure and SC tables.
12:01 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/248a8609e8
12:01 dalek nqp-jvm-prep: 54f66d9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
12:01 dalek nqp-jvm-prep: Implement wval (SC object lookup) op.
12:01 dalek nqp-jvm-prep:
12:01 dalek nqp-jvm-prep: Of course, no deserialization yet, so it won't find anything.
12:01 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/54f66d99fa
12:01 dalek nqp-jvm-prep: d380c6b | jnthn++ | src/org/perl6/nqp/ (3 files):
12:01 dalek nqp-jvm-prep: Oops, already had a SerializationContext stub.
12:01 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/d380c6b6f2
12:01 dalek nqp-jvm-prep: 555cc21 | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files):
12:01 dalek nqp-jvm-prep: Add an SCRef REPR.
12:01 dalek nqp-jvm-prep:
12:01 dalek nqp-jvm-prep: This allows an SC to be referenced in an objecty way.
12:01 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/555cc21af8
12:17 grondilu I'm quite amazed that Perl6 may target JVM soon.  Has someone written something about the implications of that?
12:18 tadzik MOAR SPEED
12:18 tadzik plus we can interoperate with JVM ecosystem
12:18 tadzik which may soon mean Perl5-on-JVM
12:18 tadzik aka moe
12:19 grondilu so it's potentially as huge as I thought?
12:19 grondilu (tough this make me wonder why JVM was not chosen as the target in the first place)
12:20 diakopter MOAR SPEED plz
12:22 masak one of these days, people, I will reveal the sublime secret of how to spell "more".
12:23 * masak .oO( sheesh! )
12:23 masak :P
12:23 jnthn MOAR SPELLING LESSONS, plz
12:25 colomon grondilu: back when the p6 project started, there was no .NET and none of the cool new languages targeted JVM.  It was widely believed it would be terrible for a dynamic language.
12:25 mtk joined #perl6
12:26 moritz http://www.c2lang.org/docs/c2lang_design.pdf
12:26 moritz first example
12:26 moritz package hello_world;
12:26 moritz use stdio;
12:26 moritz func int main(int argc, char*[] argv) {
12:26 moritz \o/
12:26 moritz [X] stealing 'package' from perl
12:26 colomon some people still believe that, I guess, but it sure seems like there have been a lot of compilers written in the last ten years which seem to suggest JVM and .NET are suitable to host p6.
12:27 moritz [X] stealing 'use' from perl
12:27 moritz [X] using a keyword for function defitions
12:27 wk joined #perl6
12:28 masak moritz: wow!
12:29 Juerd [X] Sufficiently complicated syntax for what could have been simple arrays
12:29 masak without looking at that page, the immediate impression I get is C:c2lang::JavaScrip:CoffeeScript.
12:31 diakopter I'll Scrip your Java
12:32 masak t
12:32 diakopter t
12:45 Ulti also C2 looks an awful lot like Go....
12:45 tadzik which should be a good thing. Go's awesome
12:46 Ulti yup
13:18 SunilJoshi joined #perl6
13:20 jlaire joined #perl6
13:25 dalek nqp-jvm-prep: 06284c1 | jnthn++ | / (6 files):
13:25 dalek nqp-jvm-prep: Implement a bunch of SC-related ops.
13:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/06284c1f9e
13:25 dalek nqp-jvm-prep: 7edcd6f | jnthn++ | lib/QAST/JASTCompiler.nqp:
13:25 dalek nqp-jvm-prep: Implement list_b.
13:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/7edcd6f785
13:25 dalek nqp-jvm-prep: 9a95f10 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
13:25 dalek nqp-jvm-prep: These ops should take a tc.
13:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/9a95f106e6
13:25 dalek nqp-jvm-prep: e06e1f2 | jnthn++ | / (2 files):
13:25 dalek nqp-jvm-prep: Fix things so we make it to the deserialize op.
13:25 dalek nqp-jvm-prep:
13:25 dalek nqp-jvm-prep: This means the string heap and code ref lists are being assembled
13:25 dalek nqp-jvm-prep: successfully. Commented out post-deserialization tasks for now; these
13:25 dalek nqp-jvm-prep: will need some abstraction work later on. This means that things are in
13:25 dalek nqp-jvm-prep: place to start the real work of implementing deserialization.
13:25 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/e06e1f2458
13:28 arnsholt Oooh, serialization!
13:28 arnsholt jnthn++
13:29 SunilJoshi joined #perl6
13:30 jnthn arnsholt: uh, no, this is just the preparation for doing the hard stuff.
13:31 * FROGGS is a bit miffy because he thinks jvm gets moar love
13:32 jnthn FROGGS: moar love than what? :)
13:32 FROGGS than me *g*
13:33 jnthn :P
13:33 SunilJoshi joined #perl6
13:34 * moritz huggs FROGGS
13:34 moritz hugme: hug everyone
13:34 * hugme hugs everyone
13:34 FROGGS awww, thats nice
13:35 SunilJoshi joined #perl6
13:36 * masak hugs FROGGS, too
13:38 tadzik do you know the "sandwich!" game?
13:38 tadzik phenny: "kanapka!"?
13:38 phenny tadzik: "sandwich !" (pl to en, translate.google.com)
13:40 masak tadzik: no. do tell.
13:41 tadzik so it goes like this: I point my finger at FROGGS and shout "kanapka!"
13:41 tadzik then we all form a stack of hugs and hug FROGGS until he begs to stop
13:42 tadzik it's called "sandwich" because it looks like one, if formed properly
13:42 masak hehe.
13:43 masak I've been at the bottom of a hugpile of (I think) four or five once.
13:43 masak we didn't call it "kanapka", though. just hug pile.
13:43 tadzik I guess it's known everywhere, just named differently
13:43 masak I couldn't breathe, and my phone which I had forgotten to take out of my pocket lost the ability to take pictures forever.
13:44 masak that said, it was an interesting experience.
13:44 masak like being massage-pushed on all parts of the body at once.
13:45 masak in retrospect though, shouting a safe-word isn't realistic when you're under four other people and can't inhale. :P
13:45 dalek nqp: 5c25b77 | (Tobias Leich)++ | .gitignore:
13:45 dalek nqp: rule 'nqp' matched 't/nqp/*', which is wrong
13:45 dalek nqp: review: https://github.com/perl6/nqp/commit/5c25b77488
13:45 dalek nqp: 8ac18c6 | (Tobias Leich)++ | / (2 files):
13:45 dalek nqp: allow identifiers to begin with "next"
13:45 dalek nqp:
13:45 dalek nqp: If one declared a sub that began with "next", "redo" or "last",
13:45 dalek nqp: it was treated like statement "next" directly followed by an
13:45 dalek nqp: identifier, which crashed.
13:45 dalek nqp: review: https://github.com/perl6/nqp/commit/8ac18c6af2
13:46 masak FROGGS++
13:48 FROGGS I always tell my kids they should whistle if they want me to stop ;o)
13:48 arnsholt jnthn: Well, preparation is work as well =)
13:48 FROGGS (a three and a almost two year old)
13:49 masak FROGGS: that's cruel :P
13:50 FROGGS just makes 'em stronger
13:50 masak (though perhaps the fastest way to teach them to whistle)
13:50 FROGGS I dont see any progress there *g*
13:59 hash_table joined #perl6
14:00 PacoAir joined #perl6
14:01 sqirrel we never really explained how to whisle, did we?
14:01 sqirrel <- froggs wife
14:02 masak :)
14:05 FROGGS our secret weapon!
14:06 diakopter women?
14:06 [Coke] FROGGS: are you in Bulgaria?
14:07 [Coke] if so, Здравейте!
14:08 FROGGS [Coke]: well, "Guten Tag" is what I say usually ;o)
14:08 [Coke] (though looking at my freenode server, I'm guessing your round robin dns was just ... rounder)
14:09 * nwc10 is a bit surprised that [Coke] didn't stalk the IP address that he's connected from
14:09 [Coke] nwc10: Laaaazy
14:09 diakopter nwc10: what tz ar eyou
14:09 nwc10 :-) maybe I've looked at too many IP addresses. Some reverse DNS is looking familiar
14:10 nwc10 CET these days
14:11 * [Coke] looks up FROGGS IP address.
14:12 [Coke] Yup, definitely guten tag makes more sense. I worked with a team in sofia at some point, so I always perk up when I see Bulgaria.
14:12 FROGGS [Coke]: you are in NL if I remember right?
14:13 [Coke] nope. Just use a machine there to connect to irc. :)
14:13 [Coke] I'm in NY, US.
14:14 FROGGS ohh, okay
14:14 FROGGS sorry 'bout that ;o)
14:16 [Coke] nwc10: were you in .au for a while or am I misremembering?
14:16 PacoAir joined #perl6
14:17 FROGGS we need a #perl6 world map
14:17 hoelzro FROGGS: like the ones the XKCD guy makes?
14:17 * FROGGS .oO( world.pam: { #perl6 } .... # <--- new sigil)
14:18 FROGGS hoelzro: never seen it I think
14:18 FROGGS s/pam/map/
14:18 FROGGS -.-
14:18 hoelzro FROGGS: https://xkcd.com/802/
14:19 masak FROGGS, sqirrel: I wonder if you're the only married couple on #perl6. :)
14:19 * moritz has to bring her wife here too
14:19 FROGGS hoelzro: no, I mean a map where you see the pins of the homes of the folks
14:20 hoelzro oh, ok =)
14:20 FROGGS masak: no idea, looks like we are the only couple that is active at least
14:20 FROGGS moritz: _her_ wife?
14:20 FROGGS THAT's new to me ;o)
14:20 [Coke] we had a parrot map at one point..
14:20 masak yes, interesting thinko :P
14:21 [Coke] but we can easily make one with the google geo api.
14:22 nwc10 [Coke]: no. You're either misremembering, or confused. There are no kangaroos here.
14:22 FROGGS I someone would provide an url, I'd place my POI
14:23 nwc10 g
14:23 nwc10 oops, wrong window :-)
14:23 FROGGS *cough* [Coke] *cough*
14:24 moritz FROGGS: grammatical gender is overrated :-)
14:24 masak moritz++ # :)
14:25 [Coke] nwc10: it's happening a lot today! ;)
14:28 bluescreen10 joined #perl6
14:38 masak last day for sending in p6cc solutions, people.
14:38 timotimo hello people
14:38 nwc10 hurry up. Because tomorrow if you're bored, your only option is going to be help jnthn on the JVM port :-)
14:39 masak :P
14:40 [Coke] masak: do I have until end of day my time? :(
14:40 tadzik bah
14:40 masak I'm usually lenient in that way, yes.
14:41 tadzik examstorm killing p6cc for me again
14:41 masak doing "by end of Friday in all possible time zones".
14:41 masak I'm pretty confident there'll be a p6cc2013, if that helps.
14:41 tadzik :)
14:41 tadzik sounds good
14:41 tadzik maybe I'll make a summer edition
14:41 masak ooh
14:42 timotimo nqp: my @a := List.new; nqp::push(@a, "1");
14:42 p6eval nqp: OUTPUT«push_pmc() not implemented in class 'NQPMu'␤current instr.: '' pc 95 ((file unknown):163248328) (/tmp/En3f0hnw12:1)␤»
14:42 timotimo nqp: my @a := []; nqp::push(@a, "1");
14:42 p6eval nqp:  ( no output )
14:42 timotimo oh, that's how that works
14:42 tadzik masak: do want? :)
14:42 masak timotimo: List != Array
14:42 tadzik I think it's doable
14:43 moritz masak: NQP doesn't have lists
14:43 masak tadzik: yes, I like the idea.
14:43 timotimo i thought list was the one you could easily push into and array was static-sized. apparently it's the other way around?
14:43 jnthn nqp: my @a := nqp::list(); nqp::push(@a, "1");
14:43 p6eval nqp:  ( no output )
14:43 jnthn ;)
14:43 masak moritz: oh! but my point still stands. NQPMu != Array. :P
14:43 jnthn nqp::list() is what [] desugars too ;)
14:44 masak tadzik: I'd be grateful if you marketed the thing a bit differently, so that the events are distinct. but mostly to make people confuse them less.
14:44 tadzik masak: I'll consider that
14:44 masak tadzik: calling yours "p6cc" might be a less-than-perfect idea, for example ;)
14:44 tadzik I'll probably ask you for organizational tips when the time is right :)
14:45 masak oh, certainly.
14:45 timotimo STBCC: Summer Time Buterfly Coding Competition
14:45 moritz SOCC, Sumer Of Coding Contest :-)
14:45 tadzik :D
14:47 * FROGGS .oO( "SPEW" - Society for the Promotion of Elfish Welfare )
14:47 masak TDD - tadzik's developer derby
14:47 jnthn .oO( Why did FROGGS have to bring that up... )
14:47 moritz FROGGS: isn't that "Warfare"? :-)
14:48 FROGGS bah
14:48 tadzik moritz: moreover, isn't that Elvish?
14:48 FROGGS .phenny "Banausen"?
14:48 FROGGS phenny: "Banausen"?
14:48 phenny FROGGS: "Clods" (de to en, translate.google.com)
14:48 FROGGS ahh
14:48 FROGGS ;o)
14:48 tadzik or maybe Elven
14:49 tadzik Insensitive Bananen
14:49 FROGGS hehe
14:49 FROGGS Sh*t is bananas <- somebody has to explain that to me
14:49 tadzik "x is bananas" like "x is crazy"
14:49 SunilJoshi joined #perl6
14:50 tadzik same for "x goes bananas"
14:50 FROGGS (Gwen Stefani)-- # for that
14:50 FROGGS stupid text anyway
14:50 tadzik maybe she meant it the other way around
14:50 tadzik not everyone likes banans ;_;
14:51 FROGGS perfectly true
14:52 [Coke] masak: excellent. I have some fixes to submit, even if I don't any more coding done. but I have $dayjob and $pokergame today.
14:54 stopbit joined #perl6
14:56 [Coke] masak++ for hosting the contest.
14:56 timotimo i'm still doing something wrong with my push, it seems. push_pmc() not implemented in class 'Array', but i initialise that parameter with []. what could be going wrong?
14:57 masak timotimo: nopaste some code?
14:57 jnthn timotimo: Confusing NQP types and Perl 6 types, perhaps?
14:57 * moritz agress with jnthn
14:57 timotimo ah, that might be the case.
14:57 moritz push_pmc should be called on an RPA (or QRPA)
14:58 timotimo my complete diff is here: http://sprunge.us/CIGI
14:58 timotimo find the push in apply_trait in the evaluator sub
14:58 timotimo it's initialised down in the implementation of "is" with *%fail
14:59 doy joined #perl6
14:59 cedrvint joined #perl6
14:59 TimToady joined #perl6
14:59 FROGGS cool
14:59 FROGGS timotimo++ # thats an awesome idea
15:00 timotimo the things you do when you get bored ;))
15:00 moritz timotimo: $payload.suggestions.push(...)  might work
15:00 moritz $payload.suggestions semss to be a Perl 6 type
15:01 moritz oh, and mit need to be
15:01 FROGGS s/mit/might/
15:01 timotimo oh, yeah, that implementation of is is in perl6 space!
15:01 timotimo in hindsight it's pretty obvious
15:01 moritz $payload.suggestions.push(nqp::box_s($name, self.find_symbol(['Str']))
15:02 moritz )
15:02 moritz to make sure it's a Perl 6 string
15:02 moritz best look up the Str type object outside of the sub
15:03 moritz speaking of which, in Perl6::World, all references of $*W can likely be replaced with 'self'
15:03 SunilJoshi joined #perl6
15:05 SunilJoshi joined #perl6
15:05 timotimo closing in on the first properly working version of this code! :D
15:06 moritz \o/
15:07 FROGGS moritz: how easily can p6eval be told to compile all rakudo branches and make them available here?
15:08 timotimo pugs: say "my name"
15:08 p6eval pugs: OUTPUT«my name␤»
15:08 timotimo also, how can pugs output its version, too?
15:09 kresike bye folks
15:10 timotimo wasted a compile cycle to writing "sel" instead of "self" :|
15:11 FROGGS ohh, three minutes lost ó.ò
15:11 FROGGS but I dont really like these things too
15:12 moritz FROGGS: not easily
15:12 moritz timotimo: it needs a file where its version is written down
15:14 timotimo it's in .git/HEAD :P
15:14 moritz erm, what?
15:14 jnthn .oO( Only if your HEAD is detached... )
15:14 moritz the version of the pugs binary built on p6eval is in .git/HEAD?
15:15 timotimo oh, that's true
15:15 benabik .git/HEAD will usually contain something like 'ref: refs/heads/master'
15:15 timotimo ===SORRY!===
15:15 timotimo Foo cannot inherit from VersionW because it is unknown.\nDid you mean Version
15:16 jnthn wow :)
15:16 FROGGS cool
15:16 jnthn Mebbe we should do this for undeclared variables too
15:16 sjn o_O
15:17 sjn whoa
15:17 timotimo jnthn: you said i only had to care about things where nqp::isconcrete gives 0, but when i walk all my blocks, i get all kinds of things that seem like they should be non-concrete, like Rat or Grammar or Hash
15:17 FROGGS we should, since there is no slowdown when all goes well in someones code...
15:17 jnthn timotimo: It's about type objects
15:17 jnthn timotimo: So yes, Rat, Grammar and Hash are type objects
15:17 timotimo maybe it's because those come from the symbol tables of QAST::Block objects and they are nqp-level or something?
15:17 jnthn timotimo: Youv'e walked into the setting.
15:18 jnthn Lemme check the code...
15:19 jnthn +                if nqp::istype($_.value, QAST::Block) {
15:19 jnthn That will never be true
15:19 jnthn ah, yeah, this is fairly wrong...
15:19 timotimo heh, ok :)
15:20 jnthn %symtable maps each registered name to a hash
15:20 jnthn If that hash has a key value, then the actual symbol is in there
15:20 jnthn That's what you need to look at
15:21 timotimo oh! i see
15:21 timotimo that hash will only ever have one key?
15:21 timotimo or none?
15:21 jnthn for %symtable { if nqp::existskey($_.value, 'value') { $code($_.key, $_.value<value>) } } # or so
15:21 jnthn timotimo: The hash will potentially have a load of keys
15:22 jnthn timotimo: If the value is known at compile time (which it always is for types) then it will certainly have a value key
15:22 jnthn For things like variables, there ain't one.
15:23 MayDaniel joined #perl6
15:28 hash_table joined #perl6
15:31 timotimo No type check cache and no type_check method in meta-object - whaaa, how did i get this error :o
15:32 masak is this the first month that Rakudo has released *before* Parrot?
15:33 jnthn timotimo: urgh
15:34 timotimo jnthn: it seems to happen from the $_.value<value> line (although it was checked with existskey first)
15:34 jnthn timotimo: I'm not sure off hand. Can you show me the code and the output of --ll-exception?
15:34 timotimo sure thing
15:34 timotimo first the code: http://sprunge.us/OObV
15:34 timotimo and this is the ll-exception output: http://sprunge.us/SXOf
15:35 timotimo lines around 1400 refer to the evaluator block, 1800+ refer to walk_blocks
15:35 tadzik jnthn: nqp-jvm-prep tests fail, right?
15:38 [Coke] tadzik: running them now to check
15:38 [Coke] where are you seeing failures, OOC?
15:39 tadzik JASTCompiler doesn't compile
15:39 [Coke] all tests successful here.
15:39 tadzik Error while compiling block : Error while compiling block : Error while compiling block deserialization_code: Error while compiling op bind: Error while compiling op serialize: No registered operation handler for 'serialize'
15:39 [Coke] tadzik: you need a newer nqp
15:40 tadzik oh
15:40 [Coke] I am using 2012.12-49-g4084b68
15:40 tadzik yeah, I'm no -39
15:40 tadzik thanks
15:41 timotimo i'm considering considering a case-error in levenshtein as only 0.5 instead of 1 distance. seems good?
15:43 masak I wouldn't be able to answer "yes" without actually using the result a bit.
15:43 masak are you doing this with tests backing you up?
15:43 timotimo only the one >_<
15:43 timotimo i will of course write tests before i push this upstream
15:44 arnsholt A priori, I'd agree with making casing less wrong than wrong character
15:45 tadzik std: my %a = foo-bar => 5
15:45 p6eval std 7deb9d7: OUTPUT«ok 00:00 42m␤»
15:45 jnthn r: say nqp::istype(CORE::<!CORE_MARKER>, Mu)
15:45 p6eval rakudo 3a8d48: OUTPUT«No type check cache and no type_check method in meta-object␤  in block  at /tmp/4Tm6txbCew:1␤␤»
15:46 masak ywa, I agree a priori, too.
15:46 jnthn timotimo: Seems that symbol is to blame...
15:46 timotimo jnthn: easy, just hard-code a check for that! ... ... >_<
15:46 jnthn timotimo: uh, for now, but I wanna fix it.
15:47 timotimo i'll put an XXX there or a FIXME
15:47 timotimo do you think checking $_.key against "!CORE_MARKER" is good enough for now?
15:47 jnthn timotimo: That'll do for now yes
15:49 timotimo i'm still thinking about what the best way to do the cut-off for levenshtein is. i think a solid number like "4" is dumb. maybe half the length of the thing plus one? or maybe calculate all distances and enumerate up to 5 of the shortest-distance-words?
15:51 moritz if you always take the 5 best, you'll usually include some very bad crap
15:51 timotimo hm. got an example?
15:52 timotimo ah, you mean if the best one has a score of 100?
15:52 timotimo okay, so a cut-off should definitely be there. like "changing every letter of the original word is not helpful"
15:52 moritz right
15:52 timotimo but this is all fine-tuning for when it actually works properly in the first place :)
15:52 masak my expectations as a user is to only include one really good guess. maybe I would have the patience to read two or three.
15:52 masak but then they'd all have to be really good guesses.
15:52 moritz aye
15:53 timotimo hm, yes, good point.
15:53 timotimo good guess > no guess > bad guess
15:53 moritz $ git dif
15:53 moritz git: 'dif' is not a git command. See 'git --help'.
15:53 moritz Did you mean one of these? diff dch
15:53 moritz I don't think I meant 'dch' :-)
15:54 timotimo i don't even have dch!
15:54 timotimo is that an alias you made?
15:54 moritz git-dch - Generate the Debian changelog from git commit messages
15:54 timotimo ah, ok
15:54 moritz part of the git-buildpackage debian package
15:54 timotimo there's another symbol in the tables that gives the same error as !CORE_MARKER. i'll hunt it down, though.
15:55 [Coke] I like "no more than 3 but they better be really good."
15:58 masak right. if you have one good solution and two crap ones, show me the good one.
15:58 [Coke] timotimo++ btw.
15:58 timotimo can i sort with a swartian transform in nqp?
15:58 timotimo ∑:3
15:59 jnthn timotimo: Testing a patch for the !CORE_MARKER thing here
15:59 timotimo do the same thing for NQPCursorRole, too please
16:00 jnthn um, that wouldn't explode with that error.
16:00 jnthn *shouldn't
16:01 timotimo i added a say $_.key before the $_.value<value> dereferenciation and that was the last thing that came up
16:02 jnthn r: say CORE::<NQPCursorRole>
16:02 p6eval rakudo 3a8d48: OUTPUT«No method cache and no find_method method in meta-object␤  in sub say at src/gen/CORE.setting:7559␤  in block  at /tmp/zvW1DmxHtP:1␤␤»
16:02 jnthn r: say nqp::istype(CORE::<NQPCursorRole>, Mu)
16:02 p6eval rakudo 3a8d48: OUTPUT«No type check cache and no type_check method in meta-object␤  in block  at /tmp/C1EnyBxFj2:1␤␤»
16:02 jnthn hm
16:03 jnthn That needs fixing in a different place, however.
16:03 dalek nqp: 56d2292 | jnthn++ | src/how/NQPClassHOW.pm:
16:03 dalek nqp: Remove outdated comment.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/56d2292899
16:03 dalek nqp: 5826673 | jnthn++ | src/QAST/Operations.nqp:
16:03 dalek nqp: Provide nqp:: ops for low-level iterator usage.
16:03 dalek nqp:
16:03 dalek nqp: NQP will continue to support the $_.key/$_.value approach for hash
16:03 dalek nqp: iteration in normal code. However, off Parrot this will be provided
16:03 dalek nqp: through the NQPCORE.setting, and thus is not available to the MOP.
16:03 dalek nqp: Essentially, these ops are to saw a circularity that we got away with
16:03 dalek nqp: up until now, but isn't really sensible to burden other backends with.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/5826673e43
16:03 dalek nqp: 1bcaac4 | jnthn++ | src/QAST/Operations.nqp:
16:03 dalek nqp: Add ops for get/set of a coderef's name.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/1bcaac40f8
16:03 dalek nqp: 3b7e5a3 | jnthn++ | src/stage0/ (9 files):
16:03 dalek nqp: Update bootstrap.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/3b7e5a3999
16:03 dalek nqp: ce967e9 | jnthn++ | src/how/ (5 files):
16:03 dalek nqp: A variety of circularity-sawing MOP updates.
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/ce967e9508
16:03 dalek nqp: e29532a | jnthn++ | src/ (15 files):
16:03 dalek nqp: Merge branch 'mop-cleanup'
16:03 dalek nqp: review: https://github.com/perl6/nqp/commit/e29532a49b
16:04 timotimo should i rebase off those commits?
16:04 jnthn timotimo: oh, that wasn't it
16:04 jnthn timotimo: I was just merging a branch there.
16:04 jnthn (Unrelated to the fix I'm testing for you :))
16:05 timotimo OK
16:05 timotimo now it gets through all objects, but i think i made a mistake in my levenshtein or something
16:05 timotimo VersionTwo is 13 away from our goal  -  since the goal is VersionW, that should definitely not be 13
16:07 timotimo unless i'm running into a case where the V from VersionTwo would not eq the V from VersionW, or something
16:07 timotimo due to boxedness/unboxedness
16:07 timotimo is that a possibility?
16:08 jnthn I'm pretty sure eq works correctly ;)
16:08 * masak .oO( but what *is* equality, from a philosophical standpoint? ) :P
16:11 dalek rakudo/nom: ebb415d | jnthn++ | src/Perl6/Grammar.pm:
16:11 dalek rakudo/nom: Add some missing compose calls.
16:11 dalek rakudo/nom:
16:11 dalek rakudo/nom: Prevents some weird errors when trying to look through CORE.
16:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebb415d59a
16:14 kaare_ joined #perl6
16:14 timotimo jnthn: does that fix NQPCursorRole, too?
16:16 timotimo bbiab
16:18 jnthn no
16:18 fgomez joined #perl6
16:25 dalek nqp: 769044f | jnthn++ | src/how/NQP (2 files):
16:25 dalek nqp: Fix missing type check and method caches.
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/769044fac1
16:31 dalek rakudo/nom: 98a4a8a | jnthn++ | tools/build/NQP_REVISION:
16:31 dalek rakudo/nom: Get NQPCursorRole non-explodey fix.
16:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98a4a8a756
16:31 jnthn timotimo: OK, that should do it :)
16:32 jnthn r: .say for CORE::.keys
16:32 p6eval rakudo 3a8d48: OUTPUT«Baggy␤&bag␤&infix:<(.)>␤&infix:<(+)>␤Ve​rsion␤&infix:<=>␤&infix:<does>␤&infix:<but>␤&S​EQUENCE␤&WHAT␤&infix:<...>␤&infix:<...^>␤&unde​fine␤&prefix:<temp>␤&prefix:<let>␤&INDIRECT_NA​ME_LOOKUP␤&REQUIRE_IMPORT␤&infix:<andthen>␤&ME​TAOP_ASSIGN␤&METAOP_TEST_ASSIGN:<//>␤&META…
16:38 spider-mario joined #perl6
16:44 timotimo "Can not get attribute '$!ex' declared in class 'Exception' with this object" - what might i be doing wrong here?
16:45 moritz timotimo: you might be missing a p6decont()
16:45 moritz erm, nqp::p6decont
16:45 timotimo when i use --ll-exception i can see my own exception: "Foo cannot inherit from VersionW because it is unknown." (although the @.suggestions doesn't seem to work)
16:45 moritz ie you're calling the getattr on the container, not the actual object
16:46 moritz I guess I'd need to see the actual diff; but have to decommute now
16:46 timotimo oh, i may be rethrowing a containered exception
16:54 timotimo or maybe i have to wrap the list that i created with [] before passing it to X::Inheritance::UnknownParent.new.
16:54 johnjohn101 joined #perl6
16:57 johnjohn101 joined #perl6
17:00 thou joined #perl6
17:03 Chillance joined #perl6
17:21 skids joined #perl6
17:34 kaleem joined #perl6
17:43 * [Coke] hurls https://twitter.com/pdcawle​y/status/292317748401410049 for masak.
17:46 SamuraiJack joined #perl6
17:48 stevan_ joined #perl6
17:52 colomon joined #perl6
17:53 atrodo_ joined #perl6
17:55 masak ^ autopun :)
17:55 masak (I'm tagging them because then I can find them easily in the backlog)
17:57 Myk267 joined #perl6
18:03 johnjohn101 is perl 6 official yet?
18:03 TimToady Who's officiating?
18:04 [Coke] Yes, have some.
18:04 johnjohn101 was going to experiment with some rakudo on ubuntu
18:04 TimToady Perl 6 is much more complete than Perl 1 was when it came out... :)
18:05 Su-Shee TimToady: you're not wearing your officiating sash.
18:05 Su-Shee johnjohn101: go ahead, works.
18:06 stevan_ joined #perl6
18:06 TimToady niecza tends to run a bit faster, if you need more speed, but has complementary warts to rakudo :)
18:07 [Coke] if you like haskell, there's another option, but you have to really like haskell.
18:07 johnjohn101 will niecza work with mono?
18:07 TimToady yes
18:08 TimToady I've been using that combo regularly for about two years now for production-ish code
18:08 TimToady what's there has been very solid
18:08 johnjohn101 what would be the advantage over perl 5, in your opinion?
18:08 johnjohn101 can you use c# class objects (or whatever it's called).
18:09 Su-Shee johnjohn101: there is no perl5 written in c#..
18:09 johnjohn101 i understand that. but perl 5 seems to work fine with linux.
18:09 TimToady The advantage of Perl 6 is that it fixes most of the problems pointed out in the 361 RFCs from 12.5 years ago, and Perl 5 hasn't fixed most of 'em eyt
18:09 TimToady *yet
18:10 TimToady Perl 5 is still a fine language, it's just that Perl 6 is finer, but for the speed
18:10 TimToady well, and CPAN
18:10 Su-Shee johnjohn101: well, what's your goal exactly? curiosity? then go ahead and try it. like fancy features? try it, too. need to hack together some production thing fast with 10 modules? then don't try it.
18:10 [Coke] johnjohn101: if you already have a large corpus of perl5 code, no one is expecting you to convert to 6.
18:10 johnjohn101 so perl 5 is still faster but perl 6 is better language?
18:11 [Coke] johnjohn101: basically.
18:11 geekosaur perl6 is still being optimized; get it right first, then speed it up
18:11 TimToady if you compare examples on rosettacode.org, you'll see that the p6 code tends to be cleaner and more elegant
18:12 johnjohn101 gotcha
18:14 johnjohn101 my big thing for not doing perl six is no odbc yet.  I do a lot of db work
18:15 diakopter Su-Shee: actually Microsoft had an internal project to do so while prototyping .NET before it was released, with the goal of providing enough "unsafe" features to the unsafe portion of C# that a Perl implementation could be written in C#... it was never released publicly, I'm sure because it just wasn't worth productizing it, if even to demo the potential for the language
18:16 johnjohn101 ironperl!!
18:17 diakopter no, many years before the DLR
18:17 quester joined #perl6
18:17 masak ooh, going through all of the 361 RFCs, seeing where Perl 5 is today (and where Perl 6 is today) wrt to them, would make a great blog post. or thirty or so.
18:17 masak would probably need some planning, in fact :)
18:17 johnjohn101 i'd love to see all that spelled out
18:18 diakopter I thought Damian did that in that 2001 paper
18:18 diakopter oh wait; that was 2001
18:18 masak ;)
18:18 masak johnjohn101: do you know about the Apocalypses or the Synopses?
18:18 johnjohn101 not a clue
18:19 masak johnjohn101: basically, the Apocalypses lay out the direction for the Perl 6 design, and the RFC'd promises it lives up to.
18:19 masak it's still a great read if you want to know what Perl 6 *is*.
18:19 johnjohn101 i'll look for it
18:19 johnjohn101 what got me back looking at perl 6 was a very recent blog on how to fix perl
18:20 masak but they're 8 to 12 years old, so they're a bit inaccurate at this point.
18:20 masak the Synopses are up-to-date, but they're talking about the *current* design of Perl 6. everything we know about the language in one place.
18:20 masak johnjohn101: oh, chromatic's post.
18:20 TimToady or stevan's?
18:20 masak johnjohn101: anyway, have a look at http://perlcabal.org/syn/ for the Apocalypses and the Synopses.
18:21 masak johnjohn101: or http://perl6.org/ in general for all kinds of leads and docs.
18:21 johnjohn101 the one that wanted to move it to scala or something like that
18:21 masak could still be both :)
18:21 masak but yeah, stevan++ is working on that.
18:22 TimToady we're bypassing Scala and going straight to the JVM soon
18:22 johnjohn101 is perl.org really going to lose funding as he mentions?
18:22 johnjohn101 seriously moving to jvm?
18:22 TimToady adding it as a backend, yes
18:22 jnthn Not so much moving as additionally supporting.
18:22 TimToady jnthn++ is currently working on it
18:23 [Coke] where do you see "perl.org losing funding" ?
18:23 [Coke] TPF seems to have had a pretty good year, according to their annual statement.
18:23 masak maybe referring to the "only booking.com actually use Perl" snipe stevan_ made in his talk.
18:24 johnjohn101 yeah.  Hey, I've paid my dues trying to implement a modern VM and modern Perl implementation.  The real question is whether an alternate implementation of Perl 5 can demonstrate its value for real programs before Booking.com's money runs out keeping Perl 5 on life support.
18:24 johnjohn101 that's the quote.  i was in shock when i read that
18:24 masak he's... exaggerating.
18:24 johnjohn101 figured it was a lot of FUD but didn't know enough to make a real judgement
18:25 masak but at this point, maybe scaring people into action is a good thing.
18:25 dalek perl6-roast-data: e44a55a | coke++ | / (4 files):
18:25 dalek perl6-roast-data: today (automated commit)
18:25 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/e44a55a56a
18:25 masak while it's not the truth, it's sorta kinda shaped the same way as the truth.
18:25 [Coke] yay, pugs is failing the least # of tests. ;)
18:25 TimToady truthinessiness
18:26 masak [Coke]: speaking of truthiness :P
18:26 * TimToady wouldn't mind if pugs tried a little harder :)
18:27 * TimToady wonders in johnjohn101's general direction how hard it would be to add an odbc driver to DBIish...
18:27 [Coke] TimToady: I just need someone who speaks haskell.
18:28 [Coke] I have a ton of small tasks that could improve pugs, I just can't do them myself. :)
18:28 * geekosaur notes that he has not relly beein in a position to do useful things
18:28 TimToady [Coke]: you need someone whose native tongue is haskell
18:30 johnjohn101 what would haskell be used for?  with perl 6 that is.
18:30 arnsholt Pugs, the very first Perl 6 compiler is implemented in Haskell
18:30 TimToady pugs: say 'hi'
18:30 p6eval pugs: OUTPUT«hi␤»
18:30 johnjohn101 gotcha, I see
18:31 [Coke] counting by spectests, it does about 1/3 of what rakudo and niecza do.
18:31 [Coke] drove a lot of initial design back and forth, and gave us the spec test suite.
18:32 timotimo so i set up my desktop at home so that i can ssh to it, except it seems to drop connections from outside the local area network >_<
18:32 [Coke] If we could get "bless" to work in classes, that'd give us a few hundred more passes from the trig stuff.
18:36 masak I've always pictured myself as helping a lot with getting Pugs back on its feet.
18:36 masak but the tuits never seem to materialize. :/
18:37 [Coke] I can find you a small task if you like.
18:37 masak we could try that :)
18:38 kst joined #perl6
18:42 [Coke] pugs: my $str = "foobar"; say substr($str, *-1);
18:42 p6eval pugs: OUTPUT«foobar␤»
18:42 [Coke] pugs: my $str = "foobar"; say substr($str, -1);
18:42 p6eval pugs: OUTPUT«r␤»
18:42 masak ooh.
18:42 [Coke] Pugs has a few cases like that where the whatevercode isn't respected (and the old perl5 style still is)
18:42 [Coke] t/spec/S32-str/substr.t
18:43 masak p: (* + *)(5)
18:43 p6eval pugs: OUTPUT«*** Cannot cast from VNum Infinity to VCode (VCode)␤    at /tmp/6G9kaNbRCP line 1, column 1 - line 2, column 1␤»
18:43 TimToady while you're in there, you could add a MOP as well :)
18:43 masak TimToady: sure, as long as it fits within the "small task" category :P
18:43 jnthn masak: I can give you some ideas on a design :P
18:44 dalek nqp-jvm-prep: 3c67db0 | jnthn++ | src/org/perl6/nqp/ (4 files):
18:44 dalek nqp-jvm-prep: Get serialized blob from Base64; stub reader.
18:44 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/3c67db08be
18:44 dalek nqp-jvm-prep: d5fa57f | jnthn++ | src/org/perl6/nqp/sixmodel​/SerializationReader.java:
18:44 dalek nqp-jvm-prep: Port serialization blob header read/disection.
18:44 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/d5fa57f745
18:44 [Coke] masak: added https://github.com/perl6/Pugs.hs/issues/26 for you.
18:44 diakopter jnthn: I'll get you and your dissection someday
18:45 TimToady ...and your little dog, too!
18:45 jnthn :P
18:45 jnthn Seems I've reached the point where I gotta think rather than just port stuff. Guess that means it's dinner time... :)
18:46 timotimo https://github.com/timo/rakudo/tree/levenshtein - having trouble getting the exception actually thrown. currently building to figure out what the error du jour is
18:46 [Coke] noooo
18:46 diakopter wait, you mean there's some harder kind of programming than porting?
18:46 jnthn diakopter: stouting.
18:46 diakopter s/harder/other/
18:47 [Coke] LHF: roast has 'thrid' in several spots.
18:47 FROGGS joined #perl6
18:47 * TimToady doesn't think stout is harder than port
18:48 FROGGS local or remote port?
18:48 FROGGS g'evening btw
18:48 TimToady all of it is local to begin with
18:48 diakopter sterr is definitely harder than port
18:48 jnthn TimToady: Clearly we haven't encountered the same stouts ;)
18:49 mikemol Can't niecza use .net's ODBC bindings?
18:49 * jnthn wonders off to the shop to find some food
18:49 jnthn uh, wanders
18:49 jnthn &
18:49 [Coke] p: say Inf.Int
18:49 p6eval pugs: OUTPUT«1797693134862315907729305190789024733617​97697894230657273430081157732675805500963132708​47732240753602112011387987139335765878976881441​66224928474306394741243777678934248654852763022​19601246094119453082952085005768838150682342462​8814739131105408272371633505106845862982399472…
18:49 [Coke] p: say ~Inf.Int
18:49 p6eval pugs: OUTPUT«1797693134862315907729305190789024733617​97697894230657273430081157732675805500963132708​47732240753602112011387987139335765878976881441​66224928474306394741243777678934248654852763022​19601246094119453082952085005768838150682342462​8814739131105408272371633505106845862982399472…
18:50 [Coke] masak: that should be "Inf"
18:50 timotimo Method 'ast' not found for invocant of class 'String' <- :|
18:50 ravi joined #perl6
18:51 TimToady p: say Inf.WHAT
18:51 p6eval pugs: OUTPUT«Num()␤»
18:51 TimToady huh
18:51 Guest11927 #help
18:51 TimToady No help available.
18:52 [Coke] TimToady: weird, since we know there's a VInfinity type.
18:52 [Coke] p: say rand * Inf
18:52 p6eval pugs: OUTPUT«*** ␤    Unexpected "Inf"␤    expecting operator, ":" or ","␤    at /tmp/cbyaTvpZ8o line 1, column 12␤»
18:53 TimToady p: say NaN.WHAT
18:53 p6eval pugs: OUTPUT«Num()␤»
18:53 TimToady p: say NaN
18:53 p6eval pugs: OUTPUT«NaN␤»
18:53 TimToady p: say NaN.Int
18:53 p6eval pugs: OUTPUT«-269653970229347386159395778618353710042​69654684134598591014512173659901370825144469906​27159836113040316801708198070900364881846532216​24933739271145959211186566651840137298227914453​32940186914117917962442812750865325722602351369​4322210869665811240855745025766026879447359920…
18:53 TimToady I guess the … makes it not a number...
18:54 TimToady I dunno, might be easier just to port NQP to run on Haskell...
18:55 [Coke] I was JUST thinking that.
18:55 [Coke] creepy.
18:56 TimToady maybe we need an nqp-porters mailing list...
18:57 timotimo nqp on pypy? :]
18:58 [Coke] Looking forward to the giant refudge that will be necessary once we have a jakudo.
18:58 johnjohn101 is there help to get niecza installed and up and running?  may mess with that.
18:58 arnsholt NQP and Rakudo on PyPy would be kind of hilarious, actually =D
18:58 PerlJam johnjohn101: if you ask here, I'm sure someone will help you  :)
18:59 TimToady :P
18:59 timotimo arnsholt: at least it'd have a pretty nice JIT
18:59 PerlJam johnjohn101: I got it going on ubuntu with minimal problems (had to install some .debs)
18:59 atrodo joined #perl6
18:59 TimToady johnjohn101: probably a link on perl6.org
19:03 timotimo Method 'ast' not found for invocant of class 'String'  -  how did i get this error to happen? :\ it seems like it comes from trying to have the %seen here: https://github.com/timo/rakudo/blob/​levenshtein/src/Perl6/World.pm#L1467
19:05 timotimo indeed, removing those next if nqp::existskey(%seen, $name-str); and %seen{$name-str} := 1; makes it work again (but i get a different error)
19:05 donaldh joined #perl6
19:06 FROGGS timotimo: can you try to pass the key to existskey as an unboxed one?
19:06 timotimo sure. with nqp::payload?
19:06 FROGGS since this isnt: https://github.com/timo/rakudo/blob/​levenshtein/src/Perl6/World.pm#L1951
19:06 timotimo er, getpayload is the name
19:07 FROGGS dont know about payload ;o)
19:07 TimToady FROGGS: the problem with your acronym is that a native English speaker would always say "Try it and see."
19:09 johnjohn101 perl6 on .net.  who'd have thunk it.
19:09 FROGGS TimToady: what acronym?
19:09 TimToady http://irclog.perlgeek.de/​perl6/2013-01-12#i_6325304
19:10 FROGGS ahh, k ;o)
19:11 TimToady you'd only ever get 'to see' if you followed it up something: "try it to see if it works", and even then, you'd likely get 'and' instead of 'to'
19:11 FROGGS TimToady: since you are somewhere in the logs, can you have a look at this question please? http://irclog.perlgeek.de/​perl6/2013-01-10#i_6316425
19:11 skids NNTYTI "Never know..."
19:12 TimToady FROGGS: in theory that kind of stuff should already show up in the .syml file
19:12 FROGGS TimToady: still like to scream TITS! here now and then
19:12 skids oh nktyti
19:12 TimToady FROGGS: yes, well, we do want to keep this a butterfly friendly place from time to time
19:13 FROGGS that's what I thought too, since it is a bit dangerous to rely on that bit of magic, so the auth has supply this information in the metadata
19:13 TimToady but I understand that we all carry a bit of our junior high days around with us :)
19:13 timotimo FROGGS: using $name instead of $name-str didn't help (unless i broke it again by using $name in %seen{$name}.
19:15 FROGGS timotimo: I can try to hunt that bug down later, so in an hour when kids are sleeping (and not singing anymore, loudly)
19:15 masak FROGGS: in this acronym, does the German expression use the word corresponding to "to"?
19:16 timotimo cool, thank you :)
19:16 masak "versuchen, es zu sehen" or some such?
19:19 Su-Shee masak: "um ... zu" is the basic construct.
19:20 timotimo still no idea how to get "Can not get attribute '$!ex' declared in class 'Exception' with this object" gone again :|
19:21 timotimo and, even more confusing, i get messages that there were things pushed to the @.suggestions, but the message method of the exception returns "Foo cannot inherit from VersionW because it is unknown." anyway (without the suggestions)
19:26 jnthn timotimo: Latest patch?
19:26 * jnthn can glance while his nom cooks :)
19:28 timotimo yes, it's up on my github in the levenshtein branch
19:28 timotimo do i really have to rebuild CORE.setting every time i change even something in src/Perl6?
19:28 timotimo hm, probably :|
19:29 jnthn yeah
19:29 PerlJam timotimo: there's a reason we tend to prototype things that would go in CORE outside of CORE  :)
19:29 timotimo yeah, i can totally see that
19:29 * [Coke] wonders if that'll be faster to rebuild on jakudo.
19:30 timotimo that'd be fine
19:30 * [Coke] will keep using that until someone comes up with something better. :)
19:30 jnthn timotimo: hm, I don't see it?
19:30 jnthn timotimo: Or is your github ID not your irc name? :)
19:30 PerlJam [Coke]: and the haskell backen will beget hakudo ?
19:31 PerlJam er, s/backen/backend/
19:31 timotimo oh, the github id is just timo
19:31 jnthn oh
19:31 jnthn :)
19:31 timotimo i got in pretty early :)
19:32 timotimo SixModelObject does not implement get_pmc_keyed_str when i throw what i get from nqp::getpayload($_) in the rethrow, so at least i know that the error does come from that rethrow
19:32 wk joined #perl6
19:33 jnthn my $dist := levenshtein($payload.parent, $name);
19:34 jnthn You probably want to do my $dist := levenshtein(nqp::unbox_s($payload.parent), $name);
19:34 johnjohn101 joined #perl6
19:35 masak Su-Shee: thank you.
19:36 [Coke] pugs: "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE, COMBINING DOT BELOW]".chars.say
19:36 p6eval pugs: OUTPUT«62␤»
19:37 jnthn timotimo: And self.rethrow($/, $ex); may just want to be nqp::rethrow($ex)
19:42 timotimo "not a throwable object"
19:43 timotimo oh, oops, made a silly mistake again
19:44 timotimo those compile times are driving me insane, very slowly.
19:48 timotimo nqp::rethrow gives me "Can not get attribute '$!ex' declared in class 'Exception' with this object" again :(
19:48 arnsholt timotimo: Yeah, it's a bit crazy
19:49 arnsholt For my dyncall work I discovered I could work around it by just recompiling a single so file
19:50 fgomez joined #perl6
19:51 arnsholt Which is a LOT quicker than recompiling all of NQP and then all of Rakudo
20:02 timotimo now i don't know any more how to proceed :(
20:04 moritz timotimo: show me the patch?
20:06 MikeFair_ joined #perl6
20:08 timotimo moritz: https://github.com/timo/rakudo - it's here in the levenshtein branch
20:13 moritz timotimo: it'll take a while for me to build it
20:13 timotimo yeah, i know that feel :(
20:15 * moritz builds it on the faster machine
20:15 * jnthn back from food
20:16 * colomon is just starting food
20:16 * timotimo is craving food
20:19 * jnthn builds timotimo's branch also
20:20 moritz ok, built
20:22 timotimo i'll try to get some food
20:22 moritz timotimo: I'm doing a  nqp::say(pir::typeof__SP($!)) right before the line that dies
20:26 moritz h, the type is X::AdHoc
20:27 FROGGS not very informative though
20:27 * FROGGS build also
20:27 FROGGS builds*
20:28 moritz ah, since it's a perl object, you can call .perl on it, and print it
20:31 jnthn Here's a patch: https://gist.github.com/a113bd54654a940a51df
20:31 jnthn timotimo: ^^
20:35 bluescreen10 joined #perl6
20:36 vividsnow joined #perl6
20:41 benabik joined #perl6
20:41 moritz EXCEPTION X::AdHoc.new(payload => "elements() not implemented in class 'Array'")
20:43 jnthn moritz: yeah, it's 'cus nqp::join got used on a Perl 6 Array.
20:48 moritz yes, one needs to be very careful about which types are Perl 6 and which ones are parrot
20:50 [Coke] seems odd that a function called "nqp::join" only works on parrot.
20:50 [Coke] (not when I think about it, but at first glance)
20:51 jnthn Well, it works on the things you have in NQP :)
20:53 timotimo thank you, jnthn, i'll build that right away
20:57 timotimo after this works (and the suggestions are nice enough), i think i'll do a pull request and the next thing is misspelt variables and functions, does that soundg ood?
20:58 moritz +1
21:00 masak +1
21:00 masak "all is fair if you're already showing an error" :)
21:00 FROGGS +2
21:04 alec__ joined #perl6
21:07 timotimo https://github.com/timo/rakudo/blo​b/d270cb11ef41d558459b5394188e353e​e23dee35/src/Perl6/World.pm#L1475 - still got no clue why this fails :(  "Method 'ast' not found for invocant of class 'String'"
21:10 jnthn timotimo: Where is the "next" going?
21:10 * jnthn doesn't see a loop
21:10 timotimo oh, i see it doesn't make sense :)
21:10 * timotimo writes return 1 instead
21:11 jnthn that'll be better :)
21:12 fgomez joined #perl6
21:15 timotimo i have *no* idea why that gave me *that* error!
21:15 jnthn Me either!
21:15 timotimo oh, wait, that was after i changed {$name} to <<$name>>
21:16 timotimo that caused "ast not found" to "it works, but it doesn't seem to change anything
21:17 Myk267 left #perl6
21:21 nyuszika7h joined #perl6
21:22 timotimo it seems to work now!
21:22 timotimo excellent.
21:22 jnthn \o.
21:22 jnthn timotimo++
21:22 [Coke] timotimo++
21:22 tadzik aww yeah
21:22 tadzik timotimo++
21:22 [Coke] so, where do we test this.
21:23 rindolf joined #perl6
21:23 rindolf Hi all.
21:26 FROGGS timotimo: you know what that means, right? we got better error messages than STD.pm!! \o/
21:26 masak hiya, rindolf.
21:27 masak timotimo++
21:28 rindolf masak: what's up?
21:28 rindolf FROGGS: hi, sup?
21:29 masak rindolf: not much. Perl 6 is getting better all the time. we're just hoping it gets to "good enough" before the world stops caring.
21:29 rindolf masak: good luck. :-)
21:29 masak rindolf: jnthn is doing awesome stuffs with the JVM, and keeps playing it down :)
21:29 masak er, I mean jnthn++
21:30 rindolf masak: heh, OK.
21:30 rindolf jnthn++ Indeed.
21:30 skids .oO(We are the knights who say NYI)
21:30 colomon joined #perl6
21:30 timotimo FROGGS: \m/
21:30 masak skids: :P
21:31 skids .oO(We well tell you where to find Perl6.  But first... you must implement usss... a shrubbery!)
21:31 skids The rest writes itself.  So it's NYI.
21:32 masak skids: I won't go as far as saying your thought process makes sense. but I like it ;)
21:35 benabik joined #perl6
21:38 stevan_ joined #perl6
21:39 stevan__ joined #perl6
21:44 donaldh joined #perl6
22:01 bruges_ joined #perl6
22:12 hash_table joined #perl6
22:14 timotimo so, nqp doesn't have use Test?
22:15 snearch joined #perl6
22:15 jnthn timotimo: No, put it has plan and ok built in.
22:15 jnthn Well, in its setting.
22:17 timotimo ooooh nice
22:19 timotimo nqp: my %ex := (Foo=>"bar", Barf=>"barfoo"); for %ex { say($_) }
22:19 p6eval nqp: OUTPUT«bar␤barfoo␤»
22:19 timotimo nqp: my %ex := (Foo=>"bar", Barf=>"barfoo"); for %ex { say($_.key) }
22:19 p6eval nqp: OUTPUT«Method 'key' not found for invocant of class 'String'␤current instr.: '' pc 108 ((file unknown):72) (/tmp/cDZ2ZahENP:1)␤»
22:19 timotimo i'm confused. why don't i get the key-value-object here?
22:19 timotimo nqp: my %ex := (Foo=>"bar", Barf=>"barfoo").hash; for %ex { say($_.key) }
22:19 p6eval nqp: OUTPUT«Method 'hash' not found for invocant of class 'ResizablePMCArray'␤current instr.: '' pc 72 ((file unknown):48) (/tmp/ou4NofgAAF:1)␤»
22:20 jnthn nqp: my %ex := hash(Foo=>"bar", Barf=>"barfoo"); for %ex { say($_.key) }
22:20 p6eval nqp: OUTPUT«Foo␤Barf␤»
22:20 timotimo ah, that would be it. thanks!
22:20 timotimo now i'm prototyping some changes to the levenshtein. a sort of pseudotypocoustics.
22:23 benabik Looking for typos instead of soundalikes?
22:24 benabik Typex instead of Soundex?
22:24 jnthn git st
22:24 jnthn ...oops
22:24 benabik fatal: Not a git repository (or any of the parent directories): .git
22:27 timotimo cd #.git
22:30 timotimo now Junction and Juntcion are only 1 distance apart. that ought to make suggestions better if there are typos.
22:35 timotimo i should totally add a thesaurus for common computing terms
22:35 japhb_ joined #perl6
22:35 timotimo "substitute" -> "replace" would be a cost of 1 then :P
22:36 japhb_ That's a cool idea -- go beyond merely typos to thinkos.
22:36 japhb_ Mind you, I think it's going a bit *too* far, but still a cool idea.  :-)
22:37 timotimo i was only half serious
22:42 japhb_ re: http://irclog.perlgeek.de/​perl6/2013-01-18#i_6348742 , you can use `git describe --always --dirty` or if you always want a commit sha1 prefix, `git rev-parse --short HEAD`
22:42 japhb_ timotimo, I guessed as much.  :-)
22:53 donaldh joined #perl6
22:54 Ulti timotimo use sentiment analysis to stop people using negative sounding comments too
23:02 timotimo that's actually a cute idea :)
23:06 zoomby joined #perl6
23:06 * timotimo makes adding/removing - and _ cheaper
23:14 japhb_ timotimo++ # Not just edit distance, *thoughtfully weighted* edit distance
23:14 * japhb_ hates brute-force edit distance "suggestions" that end up laughingly ridiculous
23:15 japhb_ s/laughingly/laughably/
23:16 Pleiades` joined #perl6
23:16 timotimo trying my best. still struggling getting a sensible threshold calculation
23:16 timotimo probably will go with a histogram of the distances to all known things and some heuristic on that
23:18 sizz_ joined #perl6
23:24 zoomby joined #perl6
23:31 donaldh joined #perl6
23:34 skids joined #perl6
23:41 timotimo does nqp have sorting at all?
23:41 timotimo oh, it apparently does, neat.
23:42 timotimo it sorts very strange, though
23:45 Ulti jnthn in zavolaj if I want to pass in a null for an OpaquePointer what should I do?
23:45 timotimo my @l := [[1, "foo"], [2, "bar"], [9, "quux"], [1, "yoink"]]; @l := @l.sort({ $_[0] }); for @l { say(nqp::join(",", $_)) }
23:45 timotimo nqp: my @l := [[1, "foo"], [2, "bar"], [9, "quux"], [1, "yoink"]]; @l := @l.sort({ $_[0] }); for @l { say(nqp::join(",", $_)) }
23:45 p6eval nqp: OUTPUT«Null PMC access in get_pmc_keyed_int()␤current instr.: '' pc 188 ((file unknown):96) (/tmp/TfKJp1nhun:1)␤»
23:45 jnthn Ulti: Pass a type object.
23:45 jnthn (e.g. just pass OpaquePointer)
23:46 Ulti okedoke
23:46 Ulti yeah once I get this to work I will make nice types for everything ;)
23:47 timotimo in what sorting method is the order "17, 17, 18, 17, 15, 34" a sorted order? :/
23:47 stevan_ joined #perl6
23:57 dalek nqp-jvm-prep: 3f98780 | jnthn++ | src/org/perl6/nqp/sixmodel​/SerializationReader.java:
23:57 dalek nqp-jvm-prep: Resolve dependent SCs table.
23:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/3f987801e3
23:57 dalek nqp-jvm-prep: 3094a4b | jnthn++ | src/org/perl6/nqp/sixmodel​/KnowHOWBootstrapper.java:
23:57 dalek nqp-jvm-prep: Set up the __6MODEL_CORE__ SC.
23:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/3094a4b08b
23:57 dalek nqp-jvm-prep: 9516dc1 | jnthn++ | src/org/perl6/nqp/sixmodel/ (13 files):
23:57 dalek nqp-jvm-prep: Stub STables and objects at deserialization start.
23:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/9516dc1900
23:57 dalek nqp-jvm-prep: e664ef5 | jnthn++ | src/org/perl6/nqp/sixmodel/ (13 files):
23:57 dalek nqp-jvm-prep: Fill out STable and object deserialization logic.
23:57 dalek nqp-jvm-prep:
23:57 dalek nqp-jvm-prep: This also adds the REPR deserialize functions for some representations
23:57 dalek nqp-jvm-prep: but others (especially the rather more complex P6opaque) are to come.
23:57 dalek nqp-jvm-prep: This gets a knowhow with a method in to deserialize well enough to be
23:57 timotimo nqp: say(0.1 < 0 <= 0.2)
23:57 p6eval nqp: OUTPUT«1␤»
23:57 dalek nqp-jvm-prep: able to call the method, at least.
23:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/e664ef5b0a
23:57 dalek nqp-jvm-prep: 1bcb2aa | jnthn++ | lib/QAST/JASTCompiler.nqp:
23:57 dalek nqp-jvm-prep: Twiddle deserialization code-gen a little.
23:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/1bcb2aa9d4
23:57 timotimo ah, no chaining
23:59 dalek nqp-jvm-prep: 689f958 | jnthn++ | src/org/perl6/nqp/sixmodel/r​eprs/KnowHOWAttribute.java:
23:59 dalek nqp-jvm-prep: Handle deserialization of KnowHOWAttribute.
23:59 dalek nqp-jvm-prep:
23:59 dalek nqp-jvm-prep: Turns out that with this, we can now deserialize nqp-mo.pm's blob
23:59 dalek nqp-jvm-prep: successfully!
23:59 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/689f9581e7
23:59 dalek nqp-jvm-prep: b8395aa | jnthn++ | / (2 files):
23:59 dalek nqp-jvm-prep: Enable emitting deserialize code by default.
23:59 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/b8395aa541

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs