»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
00:00 sjn left
lizmat yes, it was my change… I'll roll back because pmichaud++ didn't like those changes anyway... 00:03
timotimo_ ah, those changes
lizmat adding typed hash support to List.classify and List.categorize 00:04
if the fix makes ok, I'll commit and start a spec test while going to bed 00:06
timotimo_ t/spec/S32-io/IO-Socket-INET.t ............................ Failed 1/21 subtests 00:11
is this known?
lizmat nope 00:12
dalek kudo/nom: 686cf53 | (Elizabeth Mattijsen)++ | src/core/List.pm:
Undo typed hash support for List.(classify|categorize)

  pmichaud didn't like it. And he was right. :-)
lizmat not with me
starting spectest and sleep&
timotimo_ oke 00:13
probably changes in my socket stuff that i failed to track properly
sorear www.youtube.com/watch?v=92sKmO-AHZQ#t=1782s # i see this is online now too :D 00:16
00:19 salv0 left
timotimo_ it seems the socket tests actually work 00:20
00:21 salv0 joined 00:22 sjn joined
diakopter sorear: you're immortal 00:22
[Coke] timotimo_: you can check github.com/coke/perl6-roast-data to see if something is a known failure. 00:23
timotimo_ r: my %h{Str;Str}
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Invalid hash shape; type expected␤»
timotimo_ r: my %h{Str(Any)}
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Invalid hash shape; type expected␤»
sorear diakopter: no, only until a major network runs clips of the keynote and youtube takes down the video for retroactive copyright infringement
00:24 PacoAir left
timotimo_ github.com/rakudo/rakudo/pull/163 - the pull request is out :) 00:25
dalek : cd6b480 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
fix args passed to indirect object call
sorear diakopter: and anyways, mdk.per.ly/files/2012/08/IMG_0365.jpg already exists 00:32
timotimo_ hm, maybe i'll throw a proper error for the other die, so that it at least gives a trace ...
how can i throw a non-typed exception with the cursor? 00:37
oh, maybe just a comp exception
aah, X::Comp::AdHoc 00:39
00:42 sjn left
timotimo_ i think i'll turn a few more nqp::die's into AdHoc errors with more info 00:43
00:49 mtk left 00:51 mtk joined, dukeleto left 01:03 sqirrel_ joined 01:05 sqirrel left 01:06 dukeleto joined, FROGGS left 01:13 dukeleto left 01:19 FROGGS joined
timotimo_ wasn't there some syntax that would allow me to do this? 01:20
r: class Dog { has $.tail; has $.mouth }; my (:$tail, :$mouth) = Dog.new(:tail<fluffy>, :mouth<drooly>); say $tail; say $mouth;
camelia rakudo b2072f: OUTPUT«Dog.new(tail => "fluffy", mouth => "drooly")␤Nil␤»
01:23 raiph joined 01:41 raiph left 01:45 raiph joined 01:53 census joined 01:56 xenoterracide|2 joined 02:12 census left 02:18 dayangkun_ left
colomon is trying to remember how to reverse a hash in p6 02:18
timotimo_ first you .invert it and push the result into a hash 02:20
colomon timotimo_++
timotimo_ remembers it from one of the advent calendar posts 02:21
colomon though I'm now looking at categorize and thinking that might be even better
labster I like the sound of this
ssutch i did it! 02:24
(with the gracious help and love at #perl6) 02:25
protocol buffer grammar! gist.github.com/samuraisam/5786535
colomon \o/
ssutch time for a beer!
if anyone has any suggestions, on how to make the grammar suck less, im happy to listen 02:26
timotimo_ did you see proto tokens yet? 02:27
you can write proto token proto { <...> }; and then you can write token token proto:sym<import> { <sym> <.ws> ... } and token proto:sym<package> { <sym> <.ws> ... } 02:28
so you don't have to write "import" and "option" and such twice and you get the big alteration in your current "token proto" for free 02:29
also, if you use the sigspace modifier, you don't have to put <.ws> between each two things, i think that would lead to the biggest improvement
also: that "stupid syntax highlighting" thing! :D i do that all the time ;( 02:30
ssutch lol
some how github gets it almost correct 02:31
timotimo_ i used the proto tokens for matching str-lit, toward the bottom
but i should do that instead of alternation in token proto 02:32
timotimo_ ah, indeed, i hadn't read that far ahead 02:33
colomon ssutch: did you try using rule instead of token, only to discover that ratcheting was a problem? 02:34
timotimo_ be advised you may use spaces inside <[...]> if you feel it makes the code more readable (i have no idea if grouping applies, for instance for char-escape)
ssutch also, i ran into a bug using sigspace (read: 'rule' instead of 'token') but i can try it again once i have some tests… rakudo has a bug when you type rule { ^ <XXX> $ }
colomon: is what i describe above what you mean? 02:35
timotimo_ can you elaborate on that?
ratcheting means the grammar will not ever backtrack while inside the rule
so ... maybe?
ssutch ah, well, to fix the problem i mention, i had to delete the space between the opening bracket and the caret 02:36
so rule {^ … works fine where rule { ^ … does not
colomon ratcheting wouldn't be a bug.
but it might not work for what you want.
02:36 tgt left
ssutch colomon: yeah, i think i understand what you mean, but i don't think i can give you a very good answer unfortunately 02:37
im still pretty green at this
colomon ssutch: I don't think there's anyone but TimToady who could be said to be really experienced at p6 grammars. More people have implemented them than have used them for large projects. ;) 02:38
ssutch i was reading over ratcheting in S05, and slammed my head into it while trying to do balanced string literals 02:39
timotimo_ r: say "foo bar baz" ~~ rule { ^ (\w+)+ % <.ws> $ };
camelia rakudo b2072f: OUTPUT«「foo bar baz」␤ 0 => 「foo」␤ 0 => 「bar」␤ 0 => 「baz」␤␤»
ssutch so ultimately (and it may not be the best) i came up with what you see toward the bottom of the file with the proto token str-lit
timotimo_ r: say "foo bar baz" ~~ token { ^ (\w+)+ % <.ws> $ };
camelia rakudo b2072f: OUTPUT«「foo bar baz」␤ 0 => 「foo」␤ 0 => 「bar」␤ 0 => 「baz」␤␤»
timotimo_ i think white space at the very beginning after the opening brace is never meaningful and you have to put <.ws> or <?> in there to get additional white space matched there 02:40
ssutch there is some duplication that i was unsure of how to get rid of
timotimo_ mhm, that does seem tricky. i'm not sure if you actually have to remove the " from the character class, let me try something 02:41
r: say q{"foo bar baz" quuz} ~~ / \" ~ \" (.*?) /
ssutch here lemme give you my test string… after removing all the curse words 02:42
camelia rakudo b2072f: OUTPUT«Unable to parse expression in ; couldn't find final \"␤ in any FAILGOAL at src/stage2/QRegex.nqp:1037␤ in regex at /tmp/dTtxeDxjxA:1␤ in method ACCEPTS at src/gen/CORE.setting:10509␤ in method ACCEPTS at src/gen/CORE.setting:683␤ in block at /tmp/dTtxeDxjxA:…
timotimo_ ah, indeed, it will go over that even if i make it .*?
r: say q{"foo bar baz" quuz} ~~ / \" ~ \" (.?*) / # or this way?
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/FJpBwLGulL:1␤------> q{"foo bar baz" quuz} ~~ / \" ~ \" (.?*⏏) / # or this way?␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …
timotimo_ hm.
02:43 crab2313 joined
diakopter ssutch: you can give camelia bot a non-private gist url 02:43
ssutch how do i do that 02:44
diakopter guess :P
ssutch /msg camelia gist.github.com/samuraisam/5786535
diakopter yeah, but you need the r:
ssutch r: gist.github.com/samuraisam/5786535
camelia rakudo b2072f: ( no output )
ssutch shrug? 02:45
diakopter your program doesn't do anything :P
colomon ssutch: it just defines a grammar. apparently in a way that doesn't make rakudo complain. 02:46
ssutch r: gist.github.com/samuraisam/5786535
camelia rakudo b2072f: OUTPUT«「␤ package com.niceword;␤ option nice_thing = "face";␤ import "allunicorns.proto";␤ message not_ass {␤ required double happy = 4;␤ optional bool mild = 5;␤ extensions 100 to 199, 500 to max;␤ extensions 1 to max;␤␤ opt…
ssutch ok i updated it with my mostly-cleaned-up test string 02:47
pretty neat that camelia will run a gist
timotimo_ it really is. when you combine the power to just fork a gist and edit it by yourself, it gets even cooler 02:48
people may complain and whine about github making the dvcs centralised again and single-point-of-failure and such, but it does offer incredible value at times
ssutch meh, back up your shit, there are alternatives 02:49
diakopter you need a DDVCS 02:50
02:51 xinming left
ssutch ha 02:51
timotimo_ backs up his git repos on his laptop and the laptop data goes on a backup drive that i haven't used in at least two months now =o 02:52
02:53 xinming joined
ssutch im going to try migrating a bunch of these tokens to rules, removing the <.ws> 02:54
timotimo_ that should make a huge difference in readability 02:56
ssutch yeah
timotimo_ maybe you can find space for a few newlines and indentation in the rules, too
another trick is this:
r: my @types = <double float int32 int64 uint32 and_so_on>; say "int32 uint32 float float double" ~~ / @types* / 02:57
camelia rakudo b2072f: OUTPUT«「int32」␤␤»
timotimo_ r: my @types = <double float int32 int64 uint32 and_so_on>; say "int32 uint32 float float double" ~~ / @types* % <.ws> /
camelia rakudo b2072f: OUTPUT«「int32 uint32 float float double」␤␤»
timotimo_ may be more readable than your huge alteration 02:58
(plus: you can read the types programmatically from an array)
ssutch neato
timotimo_ yup :3
i'm going to bed now, it's too darn late for me to stay up :(
ssutch night! thanks for all the help :) 02:59
timotimo_ no problem, i enjoyed it :)
RedditAnalytics a little treat for you guys if you need a diversion ... really amazing old computer story: www.ibiblio.org/harris/500milemail.html 03:01
colomon catagorize works! \o/ 03:03
03:03 SamuraiJack joined
timotimo_ RedditAnalytics: i remember reading it some time ago and i indeed really enjoyed it :) 03:04
RedditAnalytics just goes to show you that sometimes the user is right
Teratogen that is a good story! 03:16
I remember messing with sendmail years ago
it was a nightmare
03:22 benabik joined
ssutch awesome 03:29
03:32 crab2313 left
ssutch perl 6, thus far, feels very "do what i mean" 03:33
03:45 ldthien0 joined
colomon nod 03:45
sorear o/ 03:48
ugexe what feature is required for my @stuff = ([0,1],[0,1]);' and then @stuff[2][0] = 0;(assignment to non-container) instead of @stuff.push([0,]);? 03:49
@stuff[0][2] = 0 grows, whereas @stuff[2][0] doesnt and complains of assignment to non-container 03:51
03:58 preflex left 03:59 preflex_ joined, ChanServ sets mode: +v preflex_
sorear rn: my @stuff = ([0,1],[0,1]); @stuff[2][0] = 0; 03:59
camelia rakudo b2072f, niecza v24-76-g3e65d84: ( no output )
sorear seems to work?
03:59 preflex_ is now known as preflex 04:05 ldthien0 left 04:14 jaldhar joined 04:18 konnjuta joined
konnjuta hi, can perl6 programs be compiled? 04:18
04:19 jaldhar left
geekosaur in the sense that Java or C# programs can, yes. to native code, not currently 04:20
04:22 jaldhar joined
konnjuta thanks! 04:22
exactly what i was hoping for 04:23
04:26 Psyche^ joined 04:30 Patterner left, Psyche^ is now known as Patterner 04:31 konnjuta left 04:32 kaare_ joined
eternaleye r: class Dog { has $.mouth; has $.tail; }; my Dog $ ( :$mouth, :$tail ) = Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 04:59
camelia rakudo b2072f: OUTPUT«(Mu)␤(Mu)␤»
eternaleye r: class Dog { has $.mouth; has $.tail; }; my :( Dog $ ( :$mouth, :$tail ) ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 05:01
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/ejJRucVrAx:1␤------> ss Dog { has $.mouth; has $.tail; }; my ⏏:( Dog $ ( :$mouth, :$tail ) ) := Dog.ne␤ expecting any of:␤ scoped declarator␤»
diakopter geekosaur: both .NET and mono can ahead-of-time compile to machine code 05:02
geekosaur ah
diakopter not redistributable 05:03
but still
geekosaur I knew niecza cached away CLR bytecode, but CLR is not really my area of expertise (nor JVM, really)
eternaleye r: class Dog { has $.mouth; has $.tail; }; my Dog :( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 05:04
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Type 'Dog' is not declared␤at /tmp/gtBCuG6pMZ:1␤------> og { has $.mouth; has $.tail; }; my Dog ⏏:( :$mouth, :$tail ) := Dog.new( :mouth<␤Malformed my␤at /tmp/gtBCuG6pMZ:1␤------> og { has $.mouth; has $.tail; …
eternaleye r: class Dog { has $.mouth; has $.tail; }; my Dog :( $mouth, $tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Type 'Dog' is not declared␤at /tmp/w_dsHFQqPW:1␤------> og { has $.mouth; has $.tail; }; my Dog ⏏:( $mouth, $tail ) := Dog.new( :mouth<dr␤Malformed my␤at /tmp/w_dsHFQqPW:1␤------> og { has $.mouth; has $.tail; …
eternaleye std: class Dog { has $.mouth; has $.tail; }; my Dog :( $mouth, $tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia std d4cc5ab: OUTPUT«===SORRY!===␤Multiple prefix constraints not yet supported at /tmp/B8rFC0XVI2 line 1:␤------> og { has $.mouth; has $.tail; }; my Dog ⏏:( $mouth, $tail ) := Dog.new( :mouth<dr␤Malformed my at /tmp/B8rFC0XVI2 line 1:␤------> o…
eternaleye Hmm
timotimo_: ^^^ was my attempt at using perlcabal.org/syn/S06.html#Unpackin...parameters which seems to be what you were looking for 05:05
std: class Dog { has $.mouth; has $.tail; }; my Dog $ ( $mouth, $tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 05:07
camelia std d4cc5ab: OUTPUT«ok 00:01 47m␤»
eternaleye r: class Dog { has $.mouth; has $.tail; }; my Dog $ ( $mouth, $tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia rakudo b2072f: OUTPUT«(Mu)␤(Mu)␤»
eternaleye timotimo_: Anyway, it seems STD doesn't recognize the :( signature ) form from the spec, and Rakudo fails to bind the variables properly in the $ ( ) form. 05:08
TimToady: Is ^ a stdbug or a specbug? I'd suspect even a specbug has a stdbug component, because it isn't a multiple prefix constraint regardless. 05:12
Mmm, unless... 05:15
std: class Dog { has Str $.mouth; has Str $.tail; }; my Str :( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 05:16
camelia std d4cc5ab: OUTPUT«===SORRY!===␤Multiple prefix constraints not yet supported at /tmp/GdO08MekMK line 1:␤------> Str $.mouth; has Str $.tail; }; my Str ⏏:( :$mouth, :$tail ) := Dog.new( :mouth<␤Malformed my at /tmp/GdO08MekMK line 1:␤------> …
eternaleye r: class Dog { has Str $.mouth; has Str $.tail; }; my Str $ ( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia rakudo b2072f: OUTPUT«Type check failed in binding; expected 'Str' but got 'Dog'␤ in block at /tmp/W8yQNOGfKm:1␤␤»
eternaleye r: class Dog { has Str $.mouth; has Str $.tail; }; my Dog $ ( Str :$mouth, Str :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia rakudo b2072f: OUTPUT«(Mu)␤(Mu)␤»
eternaleye Mm 05:17
r: class Dog { has Str $.mouth; has Str $.tail; }; my Str ( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
camelia rakudo b2072f: OUTPUT«drooly␤fluffy␤»
eternaleye timotimo_: AHA! ^^^
.tell timotimo_: class Dog { has Str $.mouth; has Str $.tail; }; my Str ( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail; 05:18
yoleaux eternaleye: What kind of a name is "timotimo_:"?!
eternaleye .tell timotimo_ class Dog { has Str $.mouth; has Str $.tail; }; my Str ( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
yoleaux eternaleye: I'll pass your message to timotimo_.
eternaleye Signature-unpacking++
Incidentally, not knowing the return value of twodogs made that section of the spec a lot harder to grok than it should have been. I'll work up a patch. 05:19
It also looks like that test a.) could possibly be unfudged and b.) needs a fudged colon-prefix variant, since that's untested as yet. I'll wait on the latter until I know if that part of the spec is going to change, but I'll look into the former. 05:22
Ah. It needs three more variants (colons on the parameters without $ and the interior type, colon-prefixed sig with container type, and entirely uncoloned with interior type), of which all but the first would be fudged. 05:27
05:28 xenoterracide|2 left 05:42 quester-temp-1 joined 05:44 zby_home joined, quester-temp-1 left 05:49 amoe_ joined 05:52 amoe left 05:57 araujo left 06:03 quester joined
dalek kudo/nom: cdda38e | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
better error messages for hash shapes.
06:10
kudo/nom: e9aa2a9 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
make sure those errors have pos-in-file info
kudo/nom: 0c0e3c0 | lizmat++ | src/Perl6/Actions.nqp:
Merge pull request #163 from timo/hash-shape-errors

better error messages for hash shapes.
06:15 Chillance joined 06:29 SamuraiJack left 06:30 raiph left 06:36 fgomez left 06:41 amoe joined, birdwindupbird joined 06:43 amoe_ left
[Coke] is still up at 0246 local time, and wonders if he can code anything perl6 related. 06:46
[Coke] wonders if jnthn is awake yet. 06:47
eternaleye .ask jnthn I've found various bits on poking methods into classes via .HOW and add_method (MOP++), but I can't figure out how that might work to poke rules into a grammar. Any advice? 06:53
yoleaux eternaleye: I'll pass your message to jnthn.
eternaleye .tell jnthn (I'm trying to make something Dancer-like called Capoeira that generates a grammar (to do the routing) from the paths, and uses singature introspection in the actions to bind the placeholders to the signature of the response Callable) 06:55
yoleaux eternaleye: I'll pass your message to jnthn.
[Coke] .ask jnthn - partcl-nqp is trying to use :namespace when creating some QAST nodes. this seems to be a holdover from PAST last. Does QAST support namespaces? 07:00
yoleaux [Coke]: I'll pass your message to jnthn.
sorear eternaleye: A rule is just a method. 07:12
I don't think you need anything at all special 07:13
except possibly for longest-token matching
07:21 arlinius left 07:27 salv0 left 07:31 salv0 joined 07:33 woolfy left 07:34 quester left 07:35 lizmat left 07:39 fgomez joined 07:53 arlinius joined, eternaleye left 07:58 eternaleye joined 08:03 lizmat joined 08:11 crab2313 joined 08:21 xinming left, xinming joined 08:33 SamuraiJack joined 08:58 dmol1 joined, sjn joined, dmol left 09:08 eternaleye left 09:17 woolfy1 joined 09:18 eternaleye joined 09:27 sjn left 09:34 PacoAir joined
dalek ast: a3d361a | (Elizabeth Mattijsen)++ | S10-packages/use-with-class.t:
Make sure we look in test directory first

Found when doing spectest while having ./Foo.pm available
09:45
09:47 sjn joined
lizmat drops a pin again 09:56
sorear ? 10:02
10:03 sjn left
lizmat I heard it fall 10:03
aka, it's very silent on the channel 10:04
dalek ecs: dca94f7 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
Remove superfluous |, probably a copy/paste error
10:06
10:08 crab2313 left 10:10 Guest21891 is now known as ponbiki
dalek ecs: 01c9f44 | (Elizabeth Mattijsen)++ | S32-setting-library/Containers.pod:
Added some identical method based examples, seemed appropriate
10:13
10:14 salv0 left
woolfy1 picks up pin that lizmat dropped and hands it over to her 10:17
woolfy1 sighs that she never cleans up her mess
10:17 salv0 joined
lizmat hides 10:18
10:19 daniel-s__ joined 10:21 cognominal joined 10:23 tomyan joined, daniel-s left
masak lizmat: it's quiet because loud obnoxious members of the channel (like masak) are currently having too much fun AFK. 10:26
lizmat aha! it's Saturday! :-) 10:27
masak no no, it's Saturday in *London*!
:D
woolfy1 Nono, it's saturday in Nancy
lizmat and the weather is nice, and we're inside :-(
masak good developers are perfectly capable of abstracting away nice weather. 10:28
woolfy1 And the people here are speaking about Perl in French -> double fun
masak .oO( fun double )
10:28 tgt joined
woolfy1 Later today: journeesperl.fr/fpw2013/talk/4845 10:29
10:29 birdwindupbird left
woolfy1 (Yet Another Perl6 Interpreter) 10:29
10:33 cognominal left
sorear yapsi? 10:34
10:35 woolfy1 left, woolfy joined
tadzik oh :) 10:35
sorear and, o/ masak. 10:36
10:36 tomyan left 10:38 tomyan joined
masak \o, \o 10:41
FROGGS o/, o/ 10:42
sorear i just added a new type to KnowHOWBootstrapper
masak does anyone have any opinion on my kvetch yesterday about inner-outer-class communication? 10:43
it feels like we are missing a language feature/detail there, or at least a pattern to somehow workaround the lack of a feature/detail.
10:43 cognominal joined
sorear how does this not break ~everything~? it just passed all tests, despite not recompiling anything 10:44
10:44 tomyan left
sorear surely the changed indexes in the __6MODEL_CORE__ SC should have broken deserialization of stuff 10:44
masak: I've always thought Java's behavior there is fairly insane.
*default behavior
masak sorear: yes, that's what Perl people usually tell me. and I agree, at least in part. 10:45
there's something surprising about Java's default behavior -- somewhere in the region of having to write 'static' before the inner class to get the sane variant.
10:46 cognominal left
sorear is in the habit of using owner pointers 10:46
10:46 cognominal joined
sorear is driven crazy by p5's cycle-hating VM 10:46
s/VM/GC/
jnthn: ping 10:47
masak here, I've set up a use case so we can talk about this. 10:48
rn: class C { class Thing { has @.value; method Str { ~@.value } }; has $.total; has @!things; method add($value) { @!things.push(Thing.new(:$value)); $!total += $value; self }; method Str { "[ {@!things.join(q[, ])} ]" } }; say ~C.new.add(1).add(2).add(3)
camelia rakudo b2072f: OUTPUT«[ 1, 2, 3 ]␤»
..niecza v24-76-g3e65d84: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 1382 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 297 (Any.Numeric @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/kTkrKaRP3D line 1 (C.add …
masak this is similar in structure to the real-world code I had. 10:49
sorear
.oO( has class Thing )
masak now, let's pretend I want to print not just the values '1, 2, 3', but their percentages, too: '1 (17%), 2 (33%), 3 (50%)' 10:50
how would I do that? any solution is allowed, and then we can discuss their respective merits.
note that I've provided $.total for you in the C class ;)
sorear it's bad form to commit failing tests to nqp, right? breaks bisect? 10:52
masak if you're thinking of committing failing tests, why aren't you working in a branch? 10:54
10:54 JimmyZ joined 11:00 xenoterracide|2 joined
sorear masak: because I haven't broken any of the standard tests 11:03
moritz will be gone for most of the weekend
moritz ~~ 11:04
sorear o/ moritz
dalek p: 9aeeadd | sorear++ | / (8 files):
6model bits for representing continuations as objects, also s/shift/control/ (oops)
sorear have the appropriate amount of fun
masak o/ moritz 11:05
r: class C { class Thing { has $.value; has $.c; method Str { sprintf "%d (%d%%)", $.value, $.value / $.c.total * 100 + .5 } }; has $.total; has @!things; method add($value) { @!things.push(Thing.new(:$value, :c(self))); $!total += $value; self }; method Str { "[ {@!things.join(q[, ])} ]" } }; say ~C.new.add(1).add(2).add(3) 11:07
camelia rakudo b2072f: OUTPUT«[ 1 (17%), 2 (33%), 3 (50%) ]␤»
masak I guess this is what sorear++ suggested.
* sorear is in the habit of using owner pointers 11:08
and, *sigh*, yes that works.
and maybe it's close enough to a sweet spot that there's not much to kvetch about... 11:09
11:13 JimmyZ left 11:14 JimmyZ joined 11:16 isBEKaml joined, xenoterracide|2 left 11:19 JimmyZ left 11:22 JimmyZ joined 11:24 JimmyZ left, JimmyZ joined
lizmat is back from lunch 11:26
I wonder how "multi method classify ( @values: @mapper --> Hash )" is supposed to work 11:30
use an array as a mapper? Which would imply only Integers as values to map?
11:31 araujo joined
sorear o/ araujo 11:34
11:47 tomyan joined, spider-mario joined 11:49 atrodo left, atrodo joined
colomon lizmat: I've no idea. Is that implemented anywhere? Certainly not in Niecza.... 11:54
lizmat it's not implemented. and not explained. I assume it is just that: using an array as a lookup, if it gets anything non-numeric, it will probably blow 11:55
r: my @a=1; say @a['foo'] # yes,it will blow 11:56
camelia rakudo b2072f: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Real at src/gen/CORE.setting:870␤ in method Real at src/gen/CORE.setting:2596␤ in method Real at src/gen/CORE.setting:870␤ in sub infix:<<> at src/gen/CORE.setting:3100␤ in sub i…
11:56 cognominal left, tomyan left
dalek kudo/nom: 42ef7be | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Make sure $default doesn't leak to GLOBAL::
11:57
colomon lizmat: actually, if you presume that it works by passing the things you are classifying as indices to the array, then it would have to be things that work that way. So things that can be converted to numeric, including code blocks? 11:59
11:59 tomyan joined
colomon r: my @a=1; say @a[*-1] 11:59
camelia rakudo b2072f: OUTPUT«1␤»
colomon r: my @a=1; say @a['0']
camelia rakudo b2072f: OUTPUT«1␤»
araujo hello sorear !
& everyone else
:)
lizmat hello araujo 12:00
colomon: good point
JimmyZ good evening, #perl6 12:01
sorear good evening JimmyZ 12:02
.tell jnthn I'm not sure I understand this __6MODEL_CORE__ bootstrap SC stuff... why aren't the bootstrap CodeRefs included in it? 12:03
yoleaux sorear: I'll pass your message to jnthn.
colomon has just barely woken up today... 12:04
sorear i'm up a bit late. 12:05
12:05 cognominal joined
JimmyZ I guess sorear is in sleep time :P 12:07
woolfy sorear maybe should get some sleep now he told jnthn something important...
woolfy wonders why she said that, since it is weekend now and sorear seemingly wants to break the record for longtime nerding! 12:08
sorear thinks some people here have been nerding longer than sorear has been living. 12:10
12:10 cognominal left
woolfy agrees with sorear... names come to mind like lizmat, woolfy, pmichaud, timtoady... 12:13
FROGGS $ ./p5 'use v5; package A; sub new { bless [], shift }; use overload q[""] => sub { 42 }; my $ua = new A; say "a $ua b"' 12:21
Perl5: a 42 b␤
v5: a 42 b␤
\o/
lizmat FROGGS++
JimmyZ FROGGS: awesome 12:23
12:23 kivutar joined
FROGGS and the cool thing is: two lines changed, and something between 10 and 15 added for the overload module (only ""-overloading right now) 12:23
12:23 tomyan left
lizmat when one sheep is across the dam, many will follow (old NL saying) 12:24
FROGGS gotcha
JimmyZ this is another awesome: awesome.naquadah.org/ 12:25
12:31 konundra left
woolfy admires lizmat... in a few minutes she will do her presentation "Perl's Diaspora" for the French Perl Workshop. And she is not nervous at all. She sits there hacking in Perl 6 stuff. 12:36
lizmat looks a bit angry at me ("why did you have to tell that????")
12:37 fer joined
lizmat I will also do "Is Perl 6 Perl?" and "From Fat Comma To Adverbial Pairs" lightning talks 12:37
but later :-)
woolfy basks in the rays of lizmat's calm 12:39
lizmat
.oO(I'm not nervous)
sorear if the lightning talk is about pairs, perhaps it should be given by two people?
lizmat
.oO(I'm not nervous)
sorear :)
lizmat they're only adverbial pairs 12:40
woolfy sorear: I am so NOT giving a presentation!
12:42 fer left 12:53 fgomez left 12:55 salv0 left 12:57 salv0 joined 13:03 ldthien0 joined 13:05 spider-mario left 13:11 spider-mario joined, woolfy left 13:12 cognominal joined, cognominal left
dalek p: bfee017 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (4 files):
First (compiles but untested) draft of nqp::continuation* op implementations
13:12
sorear don't celebrate yet, there are several known bugs 13:13
*sleep*
13:14 ldthien0 left
JimmyZ 'night 13:27
timotimo_ night sorear 13:38
yoleaux 05:18Z <eternaleye> timotimo_: class Dog { has Str $.mouth; has Str $.tail; }; my Str ( :$mouth, :$tail ) := Dog.new( :mouth<drooly>, :tail<fluffy> ); say $mouth; say $tail;
timotimo_ eternaleye: thank you for slogging through it! :)
i didn't manage to find the right point in the specs to look for an explanation
so i had to resort to guesswork
i had a brief look into the deserialisation stuff; it doesn't seem like i can very easily add a bit of code in one place that would give a "traceback" of what packages caused the serialisation that error'd out on the wrong dependency 13:39
13:43 zby_home left 13:45 mtk left 13:49 zby_home_ joined
lizmat "Yet Another Perl6 Interpreter - A Hack Around LuaJIT" now starting at FPW 13:49
a replacement for Parrot 13:50
colomon is jnthn there?
lizmat started in 2011
colomon: no, and it's in French, so he wouldn't understand much from it, I gather 13:51
colomon gotcha
lizmat TvmJIT is the name, comparing now with LuaJIT 13:52
colomon had somehow assumed that jnthn could handle any language you threw at him....
lizmat (!call print (!mul 6 7 ))
42
Table Virtual Machine Just In Time 13:53
Table Processing used S-expression syntax
Lua 5.1 C/API ABI compatible
Github hosted / TAP test suite
13:54 cognominal joined
colomon lizmat: who is doing it? 13:54
lizmat journeesperl.fr/fpw2013/user/2391 13:55
JimmyZ ferrad
lizmat at one time, he worked at getting Lua to run on Parrot
compatible with LuaJIT 2.0.2 now 13:58
13:59 birdwindupbird joined
lizmat use TP (Table Processing) as an intermeidate language 14:00
Lua translator included / required by JIT bytecode utilities 14:03
1.3KLoC, 19Kb bytecode 14:04
p6jit - perl6 backend 14:07
linked with libtcmjit, native librarus (p6str,p6num), NQP.lua bytecode included, also on Github 14:08
14:08 isBEKaml left
lizmat libtvmjit 14:09
tadzik exciting 14:10
lizmat ./psjit > say(6*7) 42 14:11
p6jit *sigh*
./ps6jit --ast shows AST of code 14:12
timotimo_ so, how much of the spec test suite does it pass? :3 14:13
lizmat ./ps6jit --op shows S-expressions opcodes
lizmat can't type p6jit :-(
timotimo_: I will ask at the end 14:14
tadzik I suppose it's github.com/fperrad/tvmjit 14:15
and github.com/fperrad/p6jit 14:16
lizmat I would think so, yes :-)
Language gap: MOP 14:17
timotimo_ ../t/00-sanity.t .. ok All tests successful. Files=1, Tests=8, 1 wallclock secs ( 0.03 usr + 0.00 sys = 0.03 CPU) ;)
lizmat some metemodel functionlaity built in
timotimo_ fwiw, p6jit is very fresh apparently 14:18
lizmat runtime classes: Num, num, Str, str, Bool, bool, Nil, nil, Array, Hash, Mu, Any, Cool
p6jit: say( (1).WHAT ) num 14:19
the 1 is not boxed, apparently native Lua capability ?
there has not been an official announcement yet 14:20
timotimo_ the talk *is* the official announcement? :)
lizmat well, I don't think he intended it like that
he would like to work with perl6 community to create a true NQP baclkend
(slide titled "Next Step") 14:21
Other recent good news: NQP on JVM bootsrapped / MoarVM
I guess more people have kept their VM work secret :-) 14:22
timotimo_ sounds good :)
nwc10 it's better than overpromising and underdelivering 14:24
lizmat demonstration of REPL
nwc10 (such as Unladen Swallow, which did deliver some things, but nothing like what they boldly announced at the start)
lizmat p6jit is *fast*
nwc10 (which is a shame, as I was keen to see how they were going to slay Python's GIL) 14:25
fast is good, but see blog.headius.com/2012/10/so-you-wan...-ruby.html
timotimo_ it's hard to make anything of "p6jit is fast" until you see how many actual features it offers; a super-slim subset of p6 is easy to make fast, after all :P 14:26
but it's still very cool!
lizmat now giving demo
seems relatively complete so far 14:27
will ask about spectests at the end
timotimo_ wow, cool
lizmat live example of chaning the jit to make &ln work, based on .ln 14:29
changing
recompile is *very* quick, impressive! 14:31
nwc10 lizmat: in luajit, strings are immutable aren't they?
if so, how are Perl 6's mutable strings implemented?
lizmat nwc10: I will ask 14:32
nwc10 and (I have no clue on this) - how does LuaJIT do concurrency?
thanks
JimmyZ by embed into MoarVM :P 14:35
lizmat this is still more like NQP, rather than Perl 6 14:37
runs a part of the NQP test-suite, 180 tests so far
nwc10 OK, I forget - NQP strings are immutable or not?
lizmat no assignments in NQP, just binding 14:38
wrt concurrency: there is a coro library for Lua, but that isn't used here yet 14:41
nwc10 thanks, interesting, useful 14:42
14:42 cognominal left
nwc10 please pass on thanks and my encouragement 14:42
lizmat official announcement after his 3 week holiday, which starts next week
nwc10 :-)
lizmat will do 14:43
nwc10 OK, and "enjoy well deserved holiday"
lizmat done
going to other room now...
nwc10 is going to the big blue room
lizmat presentation has ended… so I guess we will know more mid July 14:44
we live in exciting tiimes!
diakopter It wasn't a privats github project 14:49
JimmyZ diakopter: I pmed you my google id
diakopter I mentioned it here a couple months ago 14:50
timotimo_ lizmat: thanks for livetranslating :) 14:52
lizmat diakopter: the good news: it is still going on, then! 14:53
diakopter there are quite a few things crucial to a nqp backend that simply aren't possible there. I studied the codebase a while ago; I'll have to refresh my memory to recall them
[if they're still valid] 14:54
he would have been better served to explore the nqp requirements first 14:55
timotimo_ diakopter: i remember you querying me when i talked vaguely about considering building a vm atop pypy for perl6 and you mentioning some secret project in that same area :D
diakopter heh
well at the time I think there was someo one talking about doing that 14:57
wait, maybe you
timotimo_ i didn't continue with the thoughts, though. with my very limited experience of vm design, i was certain the task would be even more complicated and hard than i imagined, even after correcting for my lack of grasp of the topic :P 14:58
diakopter well I can remember one, anyway
control flow exceptions 14:59
lizmat lightning talks starting 15:00
timotimo_ lizmat: have fun! :) 15:01
diakopter it's the same model as p2: make a VM, and then try to understand nqp/6model well enough to implement it. making a jit is the ultimAte premature optimization 15:02
15:02 cognominal joined
diakopter he might not be aware I already made a nqp backend on luajit 15:02
that passed all the tests through the cross compiler 15:03
lizmat possibly, should I ask ?
diakopter but the regex ones, which I just didn't do 15:04
because I knew it was changing a lot soon
timotimo_ when was that?
before nom?
diakopter no
now, it doesn't have the 6model native types, but that's simply a matter of compiler fu 15:05
er, primitive/unboxed. 15:06
it didn't compile to bytecode; it compiled to lua source 15:07
it was a direct port of jnthn's nqp POC prototype in C# 15:09
er, 6model POC/prototype 15:10
timotimo_ oooh, so many interesting things i've never heard about ever 15:11
diakopter liz: was it a recompile from make clean or just the changed files :P
mine wasn't very interesting :P 15:12
commute& 15:13
15:16 zby_home_ left 15:21 dmol1 left 15:25 preflex left
nwc10 masak: your problem with the weather is due to www.bbc.co.uk/sport/0/tennis/22914580 15:25
15:26 preflex joined, ChanServ sets mode: +v preflex
nwc10 now, historically, it would have been a worse plan to go to London during Wimbledon fortnight, but now Centre Court can shake its fist, er roof, at God, Queens is now the prime target for malicious rain disruption. 15:26
dalek kudo/nom: d3ae978 | (Elizabeth Mattijsen)++ | src/core/ (3 files):
Implement Hash.(classify|categorize), as well as other mapper types
nwc10 I'd suggest avoiding Eastbourne next week
lizmat main classify / categorize implementation moved to src/core/Hash now 15:27
15:28 cognominal left
nwc10 masak: also, it seems point 3 on the second slide: www.youtube.com/watch?v=_Lf83bcnR4k 15:29
15:29 risou_awy is now known as risou 15:30 preflex left 15:31 preflex joined, ChanServ sets mode: +v preflex
lizmat diakopter: announcement of Etherpad::API on CPAN 15:38
15:45 sqirrel_ left, zby_home joined 15:46 JimmyZ left 15:51 Ulti joined
lizmat bar& 16:03
16:04 lizmat left 16:07 dmol joined 16:09 ldthien0 joined 16:17 PacoAir left 16:21 ldthien0 left 16:24 domidumont joined 16:31 PacoAir joined 16:32 domidumont left, dmol left 16:33 domidumont joined 16:34 risou is now known as risou_awy 16:40 mtk joined 16:47 birdwindupbird left 16:48 dmol joined 16:52 snearch joined 17:10 lizmat joined 17:14 arlinius left 17:16 dmol left 17:18 btyler joined
dalek : 34fbe88 | (Tobias Leich)++ | lib/Perl5/ (2 files):
added overload.pm, only "" right now
17:26
17:27 rindolf joined
diakopter FROGGS: O_O 17:27
FROGGS :o) 17:29
dinner &
17:35 woolfy joined, zby_home left 17:38 dmol joined 17:48 dmol left, dmol joined 17:53 dmol left 17:56 SamuraiJack left 17:57 GlitchMr joined 18:01 SunilJoshi joined 18:02 dmol joined
[Coke] gives up on QAST namespacs for now, and tries to figure out why his custom EXPR operatros are causing null pmc errors. 18:05
18:06 btyler left, SunilJoshi left
[Coke] ah. assoc is no longer optional. 18:11
one down.. 18:12
where does nqp define all the available ops? 18:17
I don't see "mul", for example anywhere in src/vm/parrot/ops/*.ops
diakopter they're defined in the qast-> compiler 18:21
[Coke] ack -a mul src/QAST -> nada. 18:22
looks like I want to look for add_core_pirop_mapping in src. 18:23
Danke. 18:24
diakopter it's not in src/QAST
it's in src/vm/parrot/QAST
[Coke] that fixes [expr 2+3] (and a few others.) 18:25
18:36 Celelibi left
[Coke] how can I debug an NQP grammar parse failure? 18:36
18:36 zby_home joined
[Coke] I'm trying to parse something, and getting Cannot look up attributes in a type object inside nqp's parsegrammar 18:37
FROGGS hmmm, only but inserting debug (say) statements
[Coke]: pass --ll-exception
[Coke] syntax for executable code in the grammar?
FROGGS: --ll-exception doesn't seem to do anything for ./partcl 18:38
FROGGS { nqp::say("token statement") }
hmmm
[Coke] FROGGS: gist.github.com/coke/5789104
FROGGS [Coke]: if you have plenty of work to do, you might want to do the same like I did for v5 18:39
[Coke] FROGGS: ... inside a rule?
FROGGS [Coke]: yes, inside grammar tokens/rules/whatever
github.com/rakudo-p5/v5/blob/maste...ns.nqp#L10
and look at line 51 in the actions... 18:40
[Coke] FROGGS: those are actions.
I'm failing in the parse.
FROGGS yeah, that might be the second step
just wanna point that out, it is pretty useful for me
18:41 snearch left
FROGGS well, it is failling here: called from Sub 'proc' pc 52664 (./src/Partcl/commands.pir:20536) (src/Partcl/commands.pm:1747) 18:41
[Coke] yes. proc is calling the grammar's .parse() 18:42
the failing is happening inside the parse step. no clue where.
that's what I'm trying to get some insight into.
FROGGS [Coke]: PAST::Compiler still exists? 18:43
[Coke] No. but I have yet to get past the .parse() failure. :) 18:44
dalek : 79e5ea5 | (Tobias Leich)++ | STATUS.md:
added (forgotten) overload.pm
18:48
: cc04ca9 | (Tobias Leich)++ | lib/Perl5/overload.pm:
added (forgotten) overload.pm
18:50 domidumont left
[Coke] switching Partcl::Compiler.parse to nqp::getcomp('Partcl').parse seems to have improved things. 18:57
19:00 Celelibi joined 19:02 kaare_ left
[Coke] ... oh. I bet I needed to instantiate the compiler instead of calling it as a class method. 19:08
(hurm. that wasn't needed on expr...) 19:09
19:14 census joined
[Coke] how can I add a method to a class at runtime without a MONKEY_TYPED eval? 19:16
I have a freshly compiled &sub.
diakopter something like .HOW.add-method then must compose 19:21
add_method
google for "HOW.add_method" 19:22
.g "HOW.add_method" 19:23
yoleaux github.com/perl6/mu/blob/master/v6...5v6_mop.pl
diakopter heh
[Coke] sadly, "add_method" doesn't appear in the specs. 19:24
diakopter well, I said google 19:26
a lot of the 6model stuff isn't in the specs 19:27
[Coke] ok, now 0-arg subs work. yay. 19:36
19:39 sjn joined
eiro hello! back from FPW (good edition). I have what sounds like an autopun to me: 19:41
I have a joke on UDP but i'm not sure you'll get it
19:49 jtpalmer joined 19:55 census left 19:56 fgomez joined 20:00 ssutch left
diakopter eiro: :) 20:01
lizmat: interesting 20:03
ahmetalpbalkan.com/blog/8-months-microsoft/ # someone ought to write a detailed analysis of these phenomena 20:11
geekosaur ...this is news? 20:13
diakopter to the author, yes, as he states several times 20:14
geekosaur yes, I saw that. corporations are not the only places that can be insular...
diakopter geekosaur: I just meant it would be convenient to see mitigation strategies and costs for those related phenomena explained in one central place 20:17
20:19 Araq joined
geekosaur I've seen several such, mostly directed at managers of geeks. and mostly not taking any cognizance that said managers are likely to be outranked by marketing and/or finance departments, etc. 20:20
also, with respect to that specific article, some of that is not really a problem, just what's going to happen when engineering intersects with the rest of the world. 20:21
20:22 skyheights joined
lue
.oO("Not giving back to the public domain is a norm." was a bit of a "You don't say" for me)
20:23
diakopter well, tbh my suspicion was that such an analysis would end up concluding/persuading that the costs of avoiding many of those things are too high. but some of them seem fixable to me. 20:25
20:26 bluescreen10 joined
diakopter geekosaur: (but yes, I agree with you that some of them aren't even problems) 20:36
20:42 danaj left 20:44 snearch joined 20:47 Araq left 20:48 ecocode joined 20:49 zby_home left 20:54 danaj joined 21:10 adu joined
sorear good * #perl6 21:13
21:14 skyheights left
diakopter o/ 21:14
21:21 ecocode left, adu left 21:26 ecocode joined 21:36 raiph joined 21:49 twigel joined, jaldhar left 21:50 jaldhar joined
dalek p: 580a904 | sorear++ | src/HLL/Compiler.nqp:
Make sure compiler error messages have a final newline to avoid confusing readline
21:56
21:57 adu joined, adu left 22:00 stevan_ joined 22:03 stevan__ left
sorear that last one may be controvertial...:) 22:20
22:25 ggoebel joined
raiph r: eval ( "f" ) 22:27
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Undeclared routine:␤ f used at line 1␤␤»
raiph ww
22:31 dmol left 22:34 ssutch joined
sorear whee, starting to pass my continuation tests 22:36
timotimo_ ssutch: have you continued work on the protobuf grammar? could i have a look? :) 22:37
ssutch hallo
yeah a bit
starting to figure out actions and such 22:38
timotimo_ ah, cool :)
if you need a bit of assistance, just ask :)
ssutch just updated the gist: gist.github.com/samuraisam/5786535
so much cleaner w/o all the <.ws>
you had a suggestion to use proto token instead of alternation for the body, but i couldn't figure out what that would look like 22:39
Teratogen Does Perl 6 have thread support? 22:40
ssutch Teratogen depends… but the most practical answer would probably be not yet
timotimo_ Teratogen: in theory or in practice? ;)
22:41 bluescreen100 joined
ssutch haha 22:41
flussence irclog.perlgeek.de/perl6/2012-02-21#i_5185652
timotimo_ there was a nice talk by pmichaud that you should be able to find on youtube when searching for "perl6 parallelism yapcna"
sorear: cool beans wrt continuation tests :) 22:42
22:44 bluescreen10 left
flussence ...*does* Perl 6 have thread support? The 6 month old readme in the Threads.pm repository doesn't exactly inspire confidence. 22:46
timotimo_ the threading stuff isn't properly specced out yet, because there's no good underlying thread support on any of the currently targetted platforms 22:47
it's due to change pretty soon and thus people can start experimenting what's the best way to put threading into perl6
ssutch esp w/ jvm threads 22:51
timotimo_ and moarvm will become very interesting as well 22:54
22:54 spider-mario left
ssutch at some point i will want to be able to point out to the user of the protobuf grammar where parsing failed 22:57
i am not sure how that is accomplished with a grammar
timotimo_ there's tricks like explicitly adding || { die "something didn't work here" } to the end of one of your rules 22:59
ssutch seems like you could use something like this: github.com/jnthn/grammar-debugger/.../Tracer.pm 23:00
however, i have noticed that matches are super slow when running with Tracer
timotimo_ indeed
i don't recommend that
but i have no very good suggestions :(
ssutch for protobuf, the speed doesn't matter a whole lot anyway, because this will be done once and then cached for the lifetime of the program 23:01
timotimo_ right
you can even put the parsing into a BEGIN block and it will be done once, when the program/script gets compiled
(but unfortunately scripts will not be compiled and stored away for later use yet)
ssutch yar 23:02
23:03 rindolf left
flussence
.oO( using up my insanity quota for the month: what if there was a module that parallelised a script by farming bits of the AST out to run in multiple subprocesses and communicating return values etc. over shm )
23:03
timotimo_ do it!
flussence but people might start using it :( 23:04
timotimo_ then make fun of them
ssutch STD.pm uses .panic github.com/perl6/std/blob/master/STD.pm6#L285 23:06
lue flussence: don't limit yourself to just one computer. I wanna set up p6compilefarm.net !
timotimo_ indeed; but the problem is to discern between "i need to backtrack in order to make this work, but then it works" and "when i reach this place and there is not an a here, that's definitely an error" 23:08
ssutch haha i like this one <.panic: "Confused"> github.com/perl6/std/blob/master/STD.pm6#L1144
timotimo_ yeah, confused is something that happens often 23:11
23:12 sergot left, sergot joined
masak waves to #perl6 23:14
flussence o/ 23:15
(are we on a big screen again?)
masak not to my knowledge.
my screen is about 14", methinks :P 23:16
23:16 woolfy left
sorear o/ masak! 23:19
wtf
masak \o
sorear nqp has hash constructors now? 23:20
masak has been enjoying London all day with Esperanto friends
that nqp has hash constructors is news to me too...
sorear oh, I think it's just for empty ones 23:21
nqp: say(nqp::istype({}, NQPHash))
camelia nqp: OUTPUT«0␤»
sorear nqp: ({})() 23:22
camelia nqp: OUTPUT«invoke() not implemented in class 'Hash'␤current instr.: '' pc 47 ((file unknown):141329136) (/tmp/ki_TofzMz_:1)␤»
sorear nqp-jvm: say(nqp::istype({}, NQPHash))
camelia nqp-jvm: OUTPUT«0␤»
23:22 PacoAir left
sorear nqp-jvm: say(nqp::isnull([nqp::null()][0])) 23:39
camelia nqp-jvm: OUTPUT«0␤»
sorear this was not expected
maybe a bug
nqp: say(nqp::isnull([nqp::null()][0])) 23:40
camelia nqp: OUTPUT«0␤»
sorear .ask jnthn say(nqp::isnull([nqp::null()][0])); # nqpbug or Working As Designed?
yoleaux sorear: I'll pass your message to jnthn.
23:51 snearch left
dalek p: b37f6f2 | sorear++ | src/vm/jvm/ (3 files):
Misc bugfixes
23:51
p: a6a7660 | sorear++ | t (2 files):
Start of a t/jvm/01-continuations.t
sorear it's functionally complete 23:54
need to increase the test coverage a bit and update the documentation to reflect the last-minute API changes
masak sorear++