Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-08-09

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:18 FROGGS joined #perl6
00:38 dalek nqp/io-refactor: 512c07b | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/FileHandle.java:
00:38 dalek nqp/io-refactor: Fix FileHandle print.
00:38 dalek nqp/io-refactor: review: https://github.com/perl6/nqp/commit/512c07bacc
00:41 FROGGS joined #perl6
00:47 FROGGS joined #perl6
01:08 raiph joined #perl6
01:14 dayangkun joined #perl6
01:23 zacts joined #perl6
01:28 FROGGS joined #perl6
01:54 FROGGS_ joined #perl6
02:01 dalek rakudo/nom: 6297ac5 | jnthn++ | src/vm/jvm/core/Threading.pm:
02:01 dalek rakudo/nom: Add a way to get broken promise cause.
02:01 dalek rakudo/nom:
02:01 dalek rakudo/nom: Using .result will throw the exception if the promise was broken; this
02:01 dalek rakudo/nom: provides a way for getting hold of it if needed.
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6297ac572c
02:01 dalek rakudo/nom: 27962b0 | jnthn++ | src/vm/jvm/core/Threading.pm:
02:01 dalek rakudo/nom: Promise breakage should carry over to combinators.
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/27962b0ac2
02:01 dalek rakudo/nom: fe22c91 | jnthn++ | src/vm/jvm/core/Threading.pm:
02:01 dalek rakudo/nom: A channel can be finished or failed.
02:01 dalek rakudo/nom:
02:01 dalek rakudo/nom: While some may be "forever", this provides for channels that come to
02:01 dalek rakudo/nom: some kind of conclusion, either a happy ending or a sad ending.
02:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe22c91cb7
02:04 xinming joined #perl6
02:09 mikemol joined #perl6
02:11 diakopter jnthn: wat. you're still awake!?!?!
02:12 jnthn apparently
02:12 jnthn I need to leave home around 3:30am or 4am or so for my flight tomorrow.
02:12 JimmyZ miracle
02:12 jnthn So staying up late tonight, sleeping late, then will skip sleep tomorrow night :)
02:14 jnthn .oO( Is it bad that I'm working on the concurrency stuff at 4am while drinking Trappistes Rochefort? )
02:15 JimmyZ not bad, I never heard  Trappistes Rochefort
02:16 jnthn It's a Belgian beer.
02:16 jnthn 11.3%
02:16 jnthn Very tasty
02:16 jnthn And to be sipped. Slowly. :)
02:19 JimmyZ jnthn: I guess you Drunk Tsingtao beer?
02:20 jnthn JimmyZ: Sure. :)
02:20 jnthn Normally at a Chinese restaurant... :)
02:21 JimmyZ hehe
02:33 lizmat good *, #perl6!
02:34 diakopter lizmat: HOWDY FROM LEFT COAST
02:34 dalek rakudo/nom: 2966c57 | (Elizabeth Mattijsen)++ | src/core/Variable.pm:
02:34 dalek rakudo/nom: Simplify is default internals
02:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2966c5765f
02:34 jnthn o/ lizmat :)
02:35 dalek roast: fba6e2e | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
02:35 dalek roast: Less and more fudging
02:35 dalek roast: review: https://github.com/perl6/roast/commit/fba6e2e321
02:35 lizmat jnthn, diakopter o/
02:35 lizmat less than an hour before we need to leave
02:35 lizmat breakfast&
02:38 * jnthn writes his first channel combinator in Perl 6
02:41 araujo joined #perl6
02:56 jnthn 'night, #perl6
02:58 slavik dang
02:59 slavik is it possible to deref a CPointer to a CStruct class?
02:59 slavik to create a class that repr(CStruct) and then get a Cpointer from a Clibrary and then deref that pointer to the class that repr)CStruct)
03:00 diakopter well, it wouldn't be any more unsafe than all the other things you can do with those
03:03 stevan_ joined #perl6
03:04 gabriel joined #perl6
03:04 slavik cool
03:06 BinGOs joined #perl6
03:11 wtw_ joined #perl6
03:13 lizmat commuting&
03:16 slavik what license does rakudo have?
03:17 JimmyZ see readme
03:18 FROGGS_ joined #perl6
03:18 slavik found it, ty
03:37 preflex joined #perl6
04:17 japhb_ joined #perl6
04:28 araujo joined #perl6
04:28 araujo joined #perl6
04:34 crab2313 joined #perl6
04:40 FROGGS_ joined #perl6
04:52 birdwindupbird joined #perl6
05:09 hypolin joined #perl6
05:12 FROGGS joined #perl6
05:17 ilogger2 joined #perl6
05:33 xinming joined #perl6
05:41 fridim_ joined #perl6
06:00 grondilu joined #perl6
06:04 jaldhar joined #perl6
06:07 jaldhar joined #perl6
06:09 thou joined #perl6
06:11 FROGGS joined #perl6
06:32 grondilu rn: try { say 1 + "pi"; CATCH { die "can not recognize pi" } }
06:32 camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  Operation cannot succeed (constant folding threw exception: Cannot parse number: pi) at /tmp/jwcNSUwFHH line 1:â�¤------> [32mtry { say 1 + "pi"[33mâ��[31m; CATCH { die "can not recognize pi" } }[0mâ�¤â�¤Â»
06:32 camelia ..rakudo 2966c5: OUTPUT«can not recognize pi␤  in block  at /tmp/qpjCP69pY0:1␤  in block  at /tmp/qpjCP69pY0:1␤␤»
06:36 FROGGS rn: try { say 1 + "pi"; CATCH { default { die "can not recognize pi" } } }
06:36 camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  Operation cannot succeed (constant folding threw exception: Cannot parse number: pi) at /tmp/0D7QpQfZer line 1:â�¤------> [32mtry { say 1 + "pi"[33mâ��[31m; CATCH { default { die "can not recogni[0mâ�¤â�¤Â»
06:36 camelia ..rakudo 2966c5: OUTPUT«can not recognize pi␤  in block  at /tmp/tyyrOJd7hg:1␤  in method Numeric at src/gen/CORE.setting:11252␤  in sub infix:<+> at src/gen/CORE.setting:3551␤  in sub infix:<+> at src/gen/CORE.setting:3549␤  in sub infix:<+> at src/gen/CORE.setting:3551␤  in sub infix:<+…
06:43 zakalwe joined #perl6
06:52 domidumont joined #perl6
07:08 domidumont joined #perl6
07:20 benabik joined #perl6
07:21 Mouq .tell diakopter Oop, I didn't see that you had offered to and did add me. Thank you!
07:21 yoleaux Mouq: I'll pass your message to diakopter.
07:25 Mouq .ety yoleaux
07:25 yoleaux Sorry, I couldn't find the etymology of that.
07:25 diakopter hi
07:25 yoleaux 07:21Z <Mouq> diakopter: Oop, I didn't see that you had offered to and did add me. Thank you!
07:26 Mouq .tz
07:26 yoleaux Mouq: I don't currently have a timezone preference set for you.
07:26 diakopter the etymology is from "yolo" (you only live once)
07:27 Mouq Haha, that's great
07:27 sqirrel joined #perl6
07:43 dmol joined #perl6
07:49 masak mornin', #perl6
07:50 moritz \o masak, *
07:50 diakopter in Soviet Ukraine your bed wakes up on the wrong side of you, and then it goes back to you.
07:51 moritz diakopter: are you coming to YAPC::EU?
07:51 diakopter yeah
07:51 diakopter are you?
07:51 * moritz nods
07:51 * diakopter dances a jiggle
07:53 masak grondilu, FROGGS: you're trying to catch a compiler error at runtime. that won't work. :)
07:53 * masak dances a jiggle too
07:54 grondilu masak: well, it did display my custom error message, didn't it?
07:54 grondilu r: try { say 1 + "pi"; CATCH { die "can not recognize pi" } }
07:54 camelia rakudo 2966c5: OUTPUT«can not recognize pi␤  in block  at /tmp/b1KbGiwViA:1␤  in block  at /tmp/b1KbGiwViA:1␤␤»
07:54 diakopter t\nqp\01-literals.t ................... Failed 904/913 subtests
07:54 diakopter t\nqp\02-if.t ......................... Failed 607/613 subtests
07:54 diakopter t\nqp\03-if-else.t .................... Failed 1399/1413 subtests
07:54 diakopter t\nqp\04-unless.t ..................... Failed 607/613 subtests
07:54 diakopter t\nqp\05-comments.t ................... Failed 805/813 subtests
07:55 diakopter AWESOME.  KICKASS.
07:55 diakopter something tells me there's a bug.
07:55 arnsholt ORLY? =D
07:56 diakopter well when you leave debug printfs in the interp.c....
07:57 arnsholt Oh, that'll do weird things, yeah ^_^
07:57 diakopter t\nqp\01-literals.t ................... ok
07:57 diakopter t\nqp\02-if.t ......................... ok
07:57 diakopter t\nqp\03-if-else.t .................... ok
07:57 diakopter t\nqp\04-unless.t ..................... ok
07:57 diakopter t\nqp\05-comments.t ................... ok
07:57 diakopter t\nqp\06-args-pos.t ................... ok
07:57 diakopter better.
07:57 diakopter that's PROGRESS.  FAST.
07:58 JimmyZ nice
07:58 diakopter ;)
08:00 diakopter here goes nothing... building a NQP.moarvm
08:00 diakopter (cross-compiling)
08:02 arnsholt Oooh, exciting!
08:02 diakopter looks like I'm back to this: At Frame 16, Instruction 380, op 'no_op' has invalid number (4) of operands; needs 0.
08:02 moritz somebody[tm] should blog about moarvm progress
08:02 * grondilu agrees
08:02 diakopter .oO( somebody who has a blog... )
08:03 diakopter .oO( other than jnthn, who's Busy(tm) )
08:03 moritz diakopter: if you write an entry, I'll put it on my blog as a guest entry
08:03 moritz s/entry/blog post/
08:04 diakopter ok, you'll have it by Sunday morning
08:04 moritz \o/
08:04 moritz diakopter: you can hand it to me in person on Sunday :-)
08:05 diakopter "Here's the first bit; here's the second bit.."
08:05 moritz it's a... *drumroll*... 1!
08:06 diakopter close
08:07 masak wait wait, I got this. just give me one more guess.
08:07 diakopter dunno if it's worth it
08:07 diakopter so many people have failed...
08:07 diakopter self.panic('Unsupported use of ' ~ ~$old ~ ';'
08:07 diakopter ~ ~$when ~ ' please use ' ~ ~$new);
08:07 diakopter what's with the double ~
08:07 moritz ac
08:08 benabik stringily and then concatinate?
08:08 benabik ow, my spelling.
08:08 moritz diakopter: first '$when' is stringified
08:08 moritz diakopter: then it's concatenated
08:08 FROGGS masak: it does work... I was just curious why the default-block triggers printing the backtrace
08:08 diakopter nqp ~ doesn't stringify?
08:08 moritz diakopter: I'm not sure if ~ has coercing multis in nqp
08:08 moritz nqp: say('foo' ~ 42)
08:08 camelia nqp: OUTPUT«foo42␤»
08:09 diakopter that may be an archaism
08:09 moritz it might
08:09 diakopter er, what do you call those around here
08:09 moritz or there might be an infix:<~> multi for native str
08:09 moritz and stringifying $when prevents the boxing of the string literals
08:09 diakopter I don't think NQP uses operator multis..?
08:10 moritz you'd have to look at the generated code to find out
08:19 FROGGS jnthn: if this hyper stuff works out... can something of the rakudo/nqp internals be done in parallel? I'm thinking of nfa, mmd or some such
08:20 diakopter those things are too short-lived
08:22 FROGGS well, @a >>+<< @b is short lived too, but if can do a gazillion in parallel, it would be faster
08:22 FROGGS are there some cases where this helps? somewhere?
08:23 FROGGS maybe if you have large lookup tables or so, then you could partition it and spawn threads
08:24 FROGGS I just dont know the internals well enough to guess where this might be the case
08:43 grondilu rn: say my Int @ = rand xx 3
08:43 camelia niecza v24-88-g1f87209: OUTPUT«0.63349779119412308 0.56023166773851574 0.50795736839434014␤»
08:43 camelia ..rakudo 2966c5: OUTPUT«0.137404966724233 0.670122138728527 0.694341523429962␤»
08:43 * grondilu is not sure he understands what my Foo @var mean exactly :/
08:44 dmol joined #perl6
08:44 grondilu I mean, if I write "my Int @a", does that mean that @a is supposed to be an Array of integers?
08:45 arnsholt Yes
08:45 grondilu r: say my Int @a = <foo bar>
08:45 camelia rakudo 2966c5: OUTPUT«foo bar␤»
08:45 grondilu ^then why is this ok?
08:45 arnsholt Good question =)
08:46 grondilu n: say my Int @a = <foo bar>
08:46 camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  @a is declared but not used at /tmp/AoBlG8zB2_ line 1:â�¤------> [32msay my Int [33mâ��[31m@a = <foo bar>[0mâ�¤â�¤foo barâ�¤Â»
08:46 arnsholt r: my Int @a; @a[0] = "foo"; say @a[0];
08:46 camelia rakudo 2966c5: OUTPUT«Type check failed in assignment to '$v'; expected 'Int' but got 'Str'␤  in block  at /tmp/mI0LV1al9a:1␤␤»
08:46 arnsholt Looks like it's a rakudobug
08:46 FROGGS not all cases are yet handled right
08:47 grondilu ok
08:47 masak it's a rakudobug.
08:47 masak (a well-known one)
09:05 mathw o/
09:06 FROGGS o/
09:08 masak o/
09:14 moritz not only well-known, but also submitted :-)
09:16 grondilu rn: my Int $x where * %% 2; say $x = 5
09:16 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Postconstraints, and shapes on variable declarators NYI at /tmp/wrfDkbWm9S line 1:â�¤------> [32mmy Int $x where * %% 2[33mâ��[31m; say $x = 5[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.set…
09:16 camelia ..rakudo 2966c5: OUTPUT«5␤»
09:18 moritz slavik: you can emulate dereferencable pointers with one-element arrays
09:21 rindolf joined #perl6
09:33 berekuk joined #perl6
09:35 daxim joined #perl6
09:39 grondilu ls
09:40 grondilu ^ignore that
10:01 dmol joined #perl6
10:13 jnthn afternoon, #perl6
10:16 Rotwang joined #perl6
10:26 moritz \o jnthn
10:35 masak greetings, jnthn.
10:37 jnthn o/ masak
10:37 jnthn Forecast for today: slide writing, with bits of hacking :)
10:40 masak ain't that the truth.
10:40 diakopter jnthn: awakeness.
10:40 jnthn diakopter: a...wha? :P
10:41 diakopter awakified?
10:41 jnthn not enough coffee yet
10:41 diakopter awakestry?
10:42 domidumont joined #perl6
10:45 FROGGS hi jnthn
10:52 FROGGS perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); my Mu $s := nqp::shift($rpa); say $s.ohh; say "done"'
10:52 FROGGS No such method 'ohh' for invocant of type 'Int'
10:53 FROGGS perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); my Mu $s := nqp::shift($rpa); say nqp::istype($s, Int); say "done"'
10:53 FROGGS 0
10:53 FROGGS jnthn: how can it be an Int and not be an Int at the same time?
10:54 jnthn FROGGS: You probably cross a marshalling point somewhere
10:54 jnthn FROGGS: See nqp::hllize op
10:54 FROGGS do I have to hllize the thing I'm pushing to the qrpa?
10:55 FROGGS that would the result of nqp_bigint_add then
10:56 jnthn Why isn't nqp_bigint_add already being given the Int type object so it can produce a Perl 6 Int?
10:57 FROGGS jnthn: I do that
10:57 FROGGS that is why the last argument to hyper_MT is Int
10:58 FROGGS I basically call nqp_get_sc_object on it, and pass it then to nqp_bigint_add as last arg
11:04 FROGGS jnthn: https://gist.github.com/FROGGS/2f7a18016440db081f99
11:04 FROGGS maybe that is better than my bad explanation
11:04 jnthn huh? nqp_get_sc_object?
11:05 FROGGS I got that from inspecting pir code that does similar things
11:06 FROGGS that is, I grepped for nqp_bigint_add and mimik'd the steps
11:09 jnthn yes, but if you're writing code being passed an Int already...
11:09 jnthn The code you copied is looking up Int from an SC
11:10 * FROGGS compiles
11:12 dalek rakudo/nom: a8d3ca0 | jnthn++ | src/vm/jvm/core/Threading.pm:
11:12 dalek rakudo/nom: Ensure borken promise stores an Exception.
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8d3ca0e6c
11:12 dalek rakudo/nom: bdd4ae1 | jnthn++ | src/vm/jvm/core/Threading.pm:
11:12 dalek rakudo/nom: Naming consistency.
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bdd4ae12cc
11:12 dalek rakudo/nom: a3503f9 | jnthn++ | src/vm/jvm/core/Threading.pm:
11:12 dalek rakudo/nom: Exceptions should inherit from Exception.
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3503f9bad
11:12 dalek rakudo/nom: 5965345 | jnthn++ | src/vm/jvm/core/Threading.pm:
11:12 dalek rakudo/nom: Decontainerize in Channel.send.
11:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59653455b0
11:16 * FROGGS compiles again
11:18 FROGGS jnthn: do you have an opinion what would be a candidate for doings things in parallel in nqp's and rakudo's core?
11:28 berekuk joined #perl6
11:55 PacoLinux joined #perl6
11:57 rindolf joined #perl6
12:05 dalek Perlito: 5058d24 | (Flavio S. Glock)++ | / (5 files):
12:05 dalek Perlito: Perlito5 - grammar - save __DATA__ sections
12:05 dalek Perlito: review: https://github.com/fglock/Perlito/commit/5058d24b79
12:10 berekuk joined #perl6
12:16 FROGGS jnthn: now I am passing the following as last arg to nqp_bigint_add: my $obj   := $qastcomp.coerce($qastcomp.as_post( $op[3] ), 'P');
12:17 FROGGS but istype still says it isnt an Int and calling an unknown method tells it is an Int
12:17 moritz forgot a decont somewhere?
12:18 FROGGS I got you right that I dont need to hllize it when passing Int properly?
12:18 FROGGS moritz: where do I have to do that?
12:18 FROGGS right before calling nqp_bigint_add? or afterwards?
12:21 nige joined #perl6
12:21 nige Hi
12:21 diakopter hi
12:22 nige F m
12:22 FROGGS moritz: btw, I've got a Dell Latitude 620 here (Centrino Duo 1.8GHz, 2GB RAM, 40GB hdd, DVD +- RW), dunno if it would be useful for you
12:22 diakopter *facepalm*
12:22 FROGGS -.-
12:23 moritz FROGGS: before wherever the problem appears
12:23 FROGGS moritz: my problem is that I cant peek and poke the values in the pir code that well
12:23 FROGGS so I dont know at what point something went wrong
12:24 moritz FROGGS: doesn't -ll-exception give you a PIR line number?
12:24 FROGGS moritz: it doesnt explode
12:25 FROGGS I get something back that is some sort of QRPA, and inside is something Int-ish, but not quite
12:25 moritz FROGGS: can you show me some code?
12:25 FROGGS sure
12:27 moritz FROGGS: re laptop, thanks for the offer, but I think tadzik++'s offer is a bit better :-)
12:27 tadzik moritz: so I'm taking this one for you, and you'll bring the HDD?
12:28 FROGGS moritz: https://gist.github.com/FROGGS/2f7a18016440db081f99
12:28 FROGGS moritz: yeah, I thought so too # laptop
12:28 moritz tadzik: aye
12:28 diakopter FROGGS: I was facepalming at the interloper
12:29 FROGGS diakopter: yeah, IT WAS A TRAP! :P
12:32 lizmat joined #perl6
12:32 moritz FROGGS: I'm confused by your code. You create a Perl 6-level array in there...
12:32 lizmat arrived at the DNIPRO
12:32 FROGGS both calls to perl6_box_int at line 46/47 might be wrong...
12:32 moritz FROGGS: and then you write my Mu $rpa := nqp::hyper_MT
12:33 FROGGS moritz: because it is somehow a QRPA, dunno how to get the perl6 Array :/
12:33 FROGGS moritz: as far as I understand line 8 creates a QRPA, which parrot can handle
12:34 FROGGS I can try and rip out the call to FLATTENABLE_LIST...
12:34 moritz FROGGS: what does line 68 do?
12:35 FROGGS it pushes the $arr_a."FLATTENABLE_LIST"() call to the ops
12:35 FROGGS otherwise it would never call that method
12:38 FROGGS moritz: I could paste the generated pir code if that helps
12:39 moritz FROGGS: maybe
12:39 moritz FROGGS: I feel like the proverbial blind leading the deaf
12:39 FROGGS *g*
12:39 FROGGS takes a bit, recompiling atm...
12:47 FROGGS moritz: https://gist.github.com/FROGGS/2f7a18016440db081f99
12:48 FROGGS https://gist.github.com/FROGGS/2f7a18016440db081f99#file-hyper_mt-pir-L76 that is line 68
12:49 PacoLinux joined #perl6
12:51 lizmat joined #perl6
12:55 moritz FROGGS: it looks fine to me from the perspective if checking the types of the arguments to the bigint_add op
12:55 moritz as for the rest, I have no idea about tasks etc.
12:56 berekuk joined #perl6
12:56 lizmat jnthn: on the way here, I was thinking we're doing the whole approach to default values wrong
12:57 lizmat I mean, we only have default values for boxed values, right>
12:57 woolfy joined #perl6
12:57 lizmat ?
12:58 jnthn lizmat: Good question...not sure if the spec says it should work on natives too? But that'd need those to somehow cope with Nil assignment to matter...
12:58 lizmat so, my idea was that if a value is used as a RHS, *then* it is checked whether it is undefined
12:58 FROGGS moritz: the tasks are fine, I am just curious about the last arg of nqp_bigint_add and how to get an Array at the end instead of this half-baken QRPA
12:59 lizmat and if undefined, then it is checked if it has a default value, and that is then returned instead
12:59 lizmat this would allow .defined to be false on sparse arrays / hashes, but still return the default value if used as a RHS
12:59 moritz FROGGS: last arg of nqp_bigint_add: the bigint ops don't care about the type of the arguments, as long as they have a bigint REPR. So we need to tell bigint_add which type to return
13:00 FROGGS moritz: right, and maybe I'm telling it wrong
13:00 moritz well, if you get the Int type object there, all is fine
13:00 lizmat jnthn: so "my %h is default(42); say %h<foo>.defined; say %h<foo>;  # would say True, 42
13:00 lizmat False, 42
13:01 lizmat so it would *not* be defined, and not exist, yet return 42
13:01 jnthn lizmat: Isn't %h<foo>.defined using it as an r-value?
13:02 FROGGS moritz: so, lets say I properly pass Int there, do I need to hllize the return value of nqp_bigint_add or do something else with it?
13:02 moritz FROGGS: no, the return value will be a proper Int
13:03 moritz r: say nqp::add_I(3, 42, Int).perl
13:03 camelia rakudo 596534: OUTPUT«45␤»
13:03 moritz r: say nqp::add_I(3, 42, Int).WHAT
13:03 camelia rakudo 596534: OUTPUT«(Int)␤»
13:03 lizmat jnthn: hmmm… good point, I guess I was thinking of exists
13:03 FROGGS moritz: then why nqp::istype(nqp::shift($rpa), Int) ir zero?
13:03 moritz FROGGS: how many elements does $rpa have?
13:04 * FROGGS looks at the pir of `say nqp::add_I(3, 42, Int).WHAT`
13:04 FROGGS moritz: 1000
13:05 bearman joined #perl6
13:05 FROGGS hmmm, I see calls to nqp_get_sc_object for all fours args of nqp_bigint_add for `say nqp::add_I(3, 42, Int).WHAT`
13:06 FROGGS I had that in my code before too, but it behaved the same
13:06 jnthn Note that those are the result of a QAST::WVal being compiled
13:07 konundra joined #perl6
13:09 moritz so, when is everybody traveling to Kiev?
13:10 PacoLinux joined #perl6
13:12 tadzik tomorrow morning
13:12 tadzik I mean, I am. Not everybody :)
13:12 lizmat some of everybody alreafy arrived
13:12 jnthn 6am
13:13 tadzik I'm at 13:45 on RPB, or RBP, or something like this
13:13 FROGGS I'll be on my couch :o(
13:14 FROGGS jnthn: the $op[3] (Int in Perl 6 code) is a QAST::WVal, so should I compile it the way I did before?
13:15 * moritz will leave tomorrow morning, and arrive at KBP at 20:20H
13:16 tadzik KBP, that's it :)
13:17 * masak is leaving early tomorrow morning; arriving at 12:40.
13:18 moritz it was quite difficult to find flights with less than 5h stops
13:19 lizmat moritz: how are you flying then?
13:20 jnthn FROGGS: Well, you just call .as_post or so on it, or something like that, I guess
13:21 FROGGS jnthn: that is what I do atm: my $obj   := $qastcomp.coerce($qastcomp.as_post( $op[3] ), 'P');
13:22 jnthn FROGGS: looks right
13:22 berekuk joined #perl6
13:22 FROGGS k, thanks
13:24 jnthn Does anybody have the link to testneeded tickets in RT handy?
13:24 jnthn ah http://rakudo.org/rt/testneeded
13:25 ajr joined #perl6
13:28 moritz also http://rakudo.de/testneeded
13:30 jnthn I've started a page here: http://act.yapc.eu/ye2013/wiki?node=Perl6Hackathon
13:30 jnthn The idea is that it's a place for those who show up at the Sunday hackathon to find stuff to hack on or how to get started.
13:30 masak damn you, pmichaud. now I keep doing .subst instead of .trans in my Perl 6 code. :P
13:30 jnthn Please contribute.
13:31 masak jnthn++
13:33 FROGGS moritz / jnthn: the things in the QRPA are somehow not 6model objs
13:40 * moritz adds the most wanted repo to the wiki page
13:47 jnthn moritz: Is perl6doc relatively easy to contribute to?
13:48 moritz jnthn: aye (as long as you don't want to rebuild the HTML :-)
13:48 colomon joined #perl6
13:49 jnthn moritz: Maybe add some suggestions about that to the hackathon page...
13:55 * moritz does, though the suggestions remain vague :/
13:57 FROGGS perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); say +nqp::p6list($rpa, List, Int); say "done"'
13:57 FROGGS 1001
13:57 FROGGS done
13:57 FROGGS at least that works
13:57 FROGGS now only the values in the array are problematic
13:59 skids joined #perl6
13:59 colomon hyper_MT?  # colomon has been out of it too long...
14:00 FROGGS colomon: a local test
14:00 FROGGS I'm playing with parrot's threads
14:00 colomon FROGGS++
14:01 JimmyZ you may want thread pool
14:01 FROGGS JimmyZ: what do you mean?
14:02 FROGGS I am creating a task for every value, and parrot only runs NUM_CORES -1 extra threads at a time
14:03 FROGGS if you mean that I should only create NUM_CORES -1 tasks you might be right, but that would be an optimization I wanna do when it works
14:03 FROGGS I dont wanna make it more complex right now :o)
14:04 JimmyZ no , I mean a pool, to reuse created threads
14:04 rindolf joined #perl6
14:05 moritz well, first make it run, then make it fast, no?
14:05 JimmyZ yeah
14:05 FROGGS JimmyZ: wasnt that what I meant by just creating like NUM_CORES-1 threads?
14:06 JimmyZ FROGGS: no
14:06 JimmyZ you mean max threads
14:06 FROGGS right
14:07 FROGGS and you?
14:07 JimmyZ I mean it needs a pool, like apr's memory pool
14:07 FROGGS can you explain that without repeasting the word 'pool'?
14:07 FROGGS -s
14:09 JimmyZ FROGGS: https://github.com/rakudo/rakudo/blob/nom/src/vm/jvm/core/Threading.pm#L304
14:10 jnthn .oO( If in doubt, link to the word instead :P )
14:11 FROGGS why should I do that? I think parrot cares about thread scheduling...
14:11 [Coke] jnthn: https://en.wikipedia.org/wiki/The_Word
14:12 JimmyZ hmm, I don't know about parrot thread
14:12 FROGGS and I nothing about pools :P
14:14 FROGGS JimmyZ: when thinking about it: I dont meant maximum running threads, not maximal total thread count of the program's life
14:15 berekuk joined #perl6
14:17 jnthn [Coke]: *groan*
14:18 sqirrel joined #perl6
14:18 timotimo hello butterfly fans
14:18 FROGGS timotimo: \o/
14:19 timotimo i was thinking about object slowness when it occured to me that the type of box to be created is always passed as a string and then looked up in the caller's lexical pad or something similar; isn't that something that could be done at compile time and increase execution speed by a whole lot?
14:19 timotimo as in, will a for loop with a thousand Int objects being created that way look up "Int" in the lexical scope a thousand times?
14:20 moritz timotimo: no, it will just be retrieved from the SC that many times
14:20 jnthn Right, it's resolved at compile time
14:21 timotimo ah, well that's good. that should be fast
14:21 jnthn And on the JVM, it's further resolved using invokedynamic on first access
14:21 jnthn So provided the JIT is being smart it should work out just like a static object reference.
14:21 timotimo yes. except on parrot ;)
14:25 * [Coke] googles for butterfly camel velociraptor and ends up in tv tropes. wtf?
14:25 tadzik about hackaton ideas: I've talked to at least 3 people about it, and everyone is like "yeah, someone else should do it", but I'm more and more tempted to consider writing Python on NQP
14:26 FROGGS tadzik: reimplementing Python?
14:26 tadzik yeah
14:26 tadzik Not Quite Perl6 related, I know
14:26 tadzik (pun intended)
14:26 FROGGS *g*
14:27 FROGGS I'm just a bit concerned about the amount of work
14:27 tadzik yeah, it's a Big Project
14:27 tadzik but maybe writing a nice syntactic sugar for JVM interop?
14:28 * jnthn needs to get that branch merged :)
14:28 jnthn (the one that starts doing that)
14:28 tadzik ah :)
14:28 jnthn tadzik: https://gist.github.com/jnthn/6e5b82c4b70fd6592841 # latest
14:29 jnthn It needs an magical multi-dispatcher-y thingy that resolves to the correct Java overload.
14:29 * diakopter welcomes our new Java overloads
14:29 jnthn On the one hand it's quite an isolated task. On the other hand, it's probably terrifying :)
14:30 tadzik :)
14:30 * FROGGS .oO( everything should dispatch directly to jnthn, the Java overlord )
14:30 jnthn :P
14:30 jnthn phew, one of my three talks now has reached "I can deliver this" level :)
14:30 tadzik hehe
14:31 tadzik jnthn+=0.3 ;)
14:32 jnthn Thankfully, that's the Monday one :)
14:32 FROGGS that was just luck :P
14:32 nwc10 tadzik: as a starter, can you write a rpython implementation for NQP?
14:32 fridim_ joined #perl6
14:32 tadzik nwc10: I assume rpython is to python what nqp is to perl6?
14:32 nwc10 ie, just run the subset of Python that PyPy is implemented in, and bootstrap from there
14:33 diakopter nwc10: :)
14:33 nwc10 yes, this is my understanding
14:33 tadzik possibly
14:33 timotimo rpython also includes a VM and jit generator
14:33 nwc10 you don't need the JIT generator (yet)
14:33 timotimo well, not quite. i believe the vm is implemented in rpython itself as part of the pypy-python-interpreter project
14:33 timotimo you don't need it unless you want to get anywhere near passable performance ;)
14:34 pmurias joined #perl6
14:34 timotimo but who in this room needs passable performance anyway?
14:34 dalek rakudo-js: e5020d2 | (Pawel Murias)++ | .gitignore:
14:34 dalek rakudo-js: Add node_modules to .gitignore.
14:34 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/e5020d22ad
14:34 dalek rakudo-js: 38273b3 | (Pawel Murias)++ | run_tests:
14:34 dalek rakudo-js: Add passing test 50 to run_tests.
14:34 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/38273b3a50
14:34 nwc10 yep, but if all you worry about is passable performance you end up refactoring the existing parts of Parrot $n times and never implement the missing features
14:34 nwc10 passable performance comes after (mostly) completeness
14:35 * jnthn looks into getting the use-from-java branch merged
14:36 crab2313 joined #perl6
14:38 Psyche^ joined #perl6
14:42 moritz lizmat: (missed your question earlier) via Istanbul
14:42 bluescreen10 joined #perl6
14:43 tadzik curious
14:44 jnthn Whoa, that's roundabout :)
14:46 tadzik I have a direct flight from Warsaw
14:50 thou joined #perl6
14:51 kaare_ joined #perl6
14:58 stevan_ joined #perl6
14:59 BabsSeed There was no perl chat on StackOverflow
14:59 BabsSeed I just created it :o
14:59 tadzik is there a chat on SO?
14:59 BabsSeed tadzik: http://chat.stackoverflow.com/rooms/34988/perl Yes
14:59 tadzik cool, I didn't know they had chatrooms
15:02 rjbs joined #perl6
15:03 rjbs At OSCON, I talked very briefly with TimToady about Perl 5's chances of developing "pair slicing," like this:
15:03 rjbs %h = (a => 1, b => 2, c => 3);  %h{ qw( a c ) }; # evaluates to (a => 1, c => 3)
15:03 rjbs He said that in p6 this is done with adverbs on the slice.
15:04 rjbs I made such a hash in my (slightly dated) Rakudo and get:
15:04 rjbs %h{'a', 'c'} :xyzzy
15:04 rjbs no matter the string after the colon, I get 1 3
15:04 rjbs What am I doing wrong?
15:05 PerlJam r:  my %h = (a => 1, b => 2, c => 3);  %h<a c> :p
15:05 camelia rakudo 596534:  ( no output )
15:05 jnthn r: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:p
15:05 camelia rakudo 596534: OUTPUT«"a" => 1 "c" => 3␤»
15:05 PerlJam jnthn++ not forgetting his "say" :)
15:05 rjbs Aha, the :p works.
15:05 rjbs Why aren't unknown adverbs problematic?
15:05 rjbs r: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:pants
15:05 camelia rakudo 596534: OUTPUT«1 3␤»
15:06 rjbs Or: isn't it problematic that they're ignored?
15:06 PerlJam std: my %h = a => 1, b => 2, c => 3; say %h{'a', 'c'}:pants;  # curious
15:06 camelia std c2215f0: OUTPUT«ok 00:00 45m␤»
15:07 dalek rakudo/nom: 1d8f4d7 | jnthn++ | src/Perl6/Grammar.nqp:
15:07 dalek rakudo/nom: Start processing use more smartly.
15:07 dalek rakudo/nom:
15:07 dalek rakudo/nom: This handles it through the usual longname parser, meaning we now can
15:07 dalek rakudo/nom: pick out the name itself from any colonpairs.
15:07 clkao w/win 24
15:07 dalek joined #perl6
15:08 jnthn rjbs: It's because method calls happily accepted any on-the-side named params. However, postcircumfix:<{ }> is set to become a sub call eventually, which will mean they start to complain. :)
15:08 jnthn The above mis-detected merge was the use-from-java branch
15:08 tadzik FRO<TAB><TAB>
15:08 tadzik :(
15:09 rjbs jnthn: Okeydokey!
15:09 PacoLinux joined #perl6
15:11 dalek nqp: d242880 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
15:11 dalek nqp: Missing decontainerize in param unboxing.
15:11 dalek nqp: review: https://github.com/perl6/nqp/commit/d242880fe6
15:16 [Coke] r: {}:<>
15:16 camelia rakudo b17b0b: OUTPUT«===SORRY!===␤No such method 'has_compile_time_value' for invocant of type 'NQPMu'␤»
15:16 [Coke] r: %{}:<>
15:16 tadzik haha
15:16 camelia rakudo b17b0b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1fwltGIPfH�Unsupported use of %{}; in Perl 6 please use %()�at /tmp/1fwltGIPfH:1�------> [32m%{}[33m�[31m:<>[0m�»
15:17 jnthn eeks
15:17 * masak submits rakudobug
15:17 jnthn First one wants rakudo...yeah, that
15:17 * jnthn is now working on getting the JVM io-refactor branch merged :)
15:18 [Coke] ... I was just making a stupid face. :)
15:18 [Coke] ... kind of looks like tom servo
15:18 jnthn ...
15:19 jnthn Each to their own :)
15:19 PacoLinux_ joined #perl6
15:19 [Coke] jnthn:
15:19 [Coke] https://en.wikipedia.org/wiki/Tom_Servo
15:19 [Coke] also, if you don't know who Tom Servo is, watch some MST3K when you can. ;)
15:20 masak mst3k++!
15:21 moritz mst3k sounds like a mixture between mst and masak
15:21 moritz scary thought
15:21 jnthn Or the next big re-write of mst
15:21 masak trying not to end up in development hell like certain other rewrites.
15:22 jnthn We'll just fix a few things... :P
15:22 masak classical rookie mistake.
15:22 masak r: { foo => 42 }:<>
15:22 camelia rakudo b17b0b: OUTPUT«===SORRY!===␤No such method 'has_compile_time_value' for invocant of type 'NQPMu'␤»
15:23 masak r: my %h = foo => 42; say %h:<>
15:23 camelia rakudo b17b0b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '%h:<>' is not declaredâ�¤at /tmp/Dl0CtxMIxc:1â�¤------> [32mmy %h = foo => 42; say %h:<>[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Other potential difficulties:â�¤    Pair with <> really means an empty list, not n…
15:23 masak r: my %h = foo => 42; say %h :<>
15:23 camelia rakudo b17b0b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤You can't adverb thatâ�¤at /tmp/qXe5D4t0OZ:1â�¤------> [32mmy %h = foo => 42; say %h :<>[33mâ��[31m<EOL>[0mâ�¤Other potential difficulties:â�¤    Pair with <> really means an empty list, not null string; use :('') to represent the null stri…
15:23 masak no, *you* can't adverb that!
15:44 kbaker joined #perl6
15:46 PacoLinux joined #perl6
15:57 btyler joined #perl6
15:58 berekuk joined #perl6
16:25 rindolf joined #perl6
16:26 btyler_ joined #perl6
16:30 * [Coke] yawns.
16:30 domidumont joined #perl6
16:41 moritz std: {}:<>
16:41 camelia std c2215f0: OUTPUT«Potential difficulties:â�¤  Pair with <> really means an empty list, not null string; use :('') to represent the null string,â�¤  or :() to represent the empty list more accurately at /tmp/FYKgK0vBDc line 1:â�¤------> [32m{}:<>[33mâ��[31m<EOL>[0mâ�¤ok 00:00 43mâ�¤Â»â€¦
16:41 grondilu joined #perl6
16:44 FROGGS[mobile] joined #perl6
16:44 * moritz tries a fix for [perl #119215]
16:45 FROGGS[mobile] tadzik: sup?
16:46 tadzik FROGGS[mobile]: I saw jnthn's patches to use statement in rakudo, thought they might overlap with your v5 patches somewhat
16:46 dalek nqp: fbf9be3 | jonathan++ | / (5 files):
16:46 dalek nqp: Start stubbing in new IO bits.
16:46 dalek nqp: review: https://github.com/perl6/nqp/commit/fbf9be3b96
16:46 dalek nqp: 57188a8 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/io/ (3 files):
16:46 dalek nqp: Fill out a little more of file I/O.
16:46 tadzik and clear the way for you to make v5 a module
16:46 dalek joined #perl6
16:46 berekuk joined #perl6
16:47 FROGGS[mobile] tadzik: true, I want to adapt them this weekend
16:47 tadzik kewl
16:48 FROGGS[mobile] but I guess I need to unbreak v5 first...
16:48 FROGGS[mobile] (that is the problem with nqp/rakudo refactors)
16:49 jnthn If you poke into the guts, the refactors may poke you :)
16:49 FROGGS[mobile] troo
16:49 jnthn Probably we should find nice ways to expose APIs though.
16:49 jnthn for things where you're poking
16:49 PacoLinux joined #perl6
16:50 jnthn Hopefully by providing a hook for :from<langname> this latest one is a step in that direction for v5.
16:50 FROGGS[mobile] well, everytime Perl6::Actions geht's touched, I need to do that too
16:51 FROGGS[mobile] jnthn: it is techically the same I had
16:54 masak hm, I wonder how we'd do itertools.starmap in Perl 6...
16:54 masak http://docs.python.org/dev/library/itertools.html#itertools.starmap
16:55 FROGGS joined #perl6
16:55 tadzik do they have starfleet to?
16:55 FROGGS ahhh, that's better
16:57 FROGGS jnthn: I have basically one last problem at that point: I need to implicitly load a module when somebody does "use v5"
16:57 moritz masak: sub starmap(&c, *@v) { @v.map: { c |$_ })
16:58 FROGGS jnthn: so the user gets Perl5::Terms too, and this is an evil hack atm
16:58 dmol joined #perl6
16:58 moritz masak: (if I understood the docs correctly)
16:59 FROGGS jnthn: it would be awesome if you would suggest a nice refactoring for that: https://github.com/rakudo-p5/v5/blob/master/rakudo.patch#L102
16:59 FROGGS or maybe I should propose some way to really make slangs pluggable
17:01 dalek rakudo/nom: 525c5d0 | jnthn++ | src/vm/jvm/core/Threading.pm:
17:01 dalek rakudo/nom: Add a first cut at a KeyReducer class.
17:01 dalek rakudo/nom:
17:01 dalek rakudo/nom: If Promise is for synchronizing over scalar values ($) and Channel is
17:01 dalek rakudo/nom: for synchronizing over ordered values (@), this is for synchronizing
17:01 dalek rakudo/nom: over keyed values (%).
17:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/525c5d0bf9
17:01 jnthn FROGGS: I don't have a suggestion right off.
17:02 FROGGS jnthn: btw, I would propose that a slang would have to provide a proper Slang object (or at least a hash), containing/referencing the grammar, the actions, and additional information like: to which token the parser should switch (like statementlist), and finally what modules should be loaded and what is the library path
17:07 sqirrel joined #perl6
17:11 crab2313 joined #perl6
17:11 moritz are there any (not too obscure) languages that use closures and manual memory management?
17:11 moritz s/use/provide/
17:14 spider-mario joined #perl6
17:15 berekuk joined #perl6
17:21 masak moritz: that seems an odd combination.
17:22 tadzik I think I read it in some of masak's documents, that a language with closures must have a GC
17:24 masak well, "must", as in, you'll make life pretty difficult for yourself in you want to track when a scope.
17:25 tadzik I think you accidentally a verb :)
17:25 jnthn ...missing verb? :)
17:25 masak ...expires :)
17:25 masak rn: sub echo($shout) { return -> { say $shout } }; my $delayed-shout = echo("Helloooo-o-o-o!"); say "waaaait for it..."; $delayed-shout()
17:25 camelia rakudo 525c5d, niecza v24-88-g1f87209: OUTPUT«waaaait for it...␤Helloooo-o-o-o!␤»
17:26 masak at which point can you GC $shout? well, when the *outer* block is done with $delayed-shout.
17:26 masak manual GC would mean doing that... manually, somehow.
17:27 jnthn In a sense, though, a closure is just an object.
17:27 jnthn The latest C++ has closures
17:27 jnthn Maybe look at how it does the memory management.
17:27 moritz that's an interesting point
17:27 * jnthn talked a bit about them with the $dayjob C++ guy
17:29 grondilu Is there someone working on a LLVM backend if this makes any sense and would it be a good idea?
17:30 moritz grondilu: I'm not aware of anybody working on it
17:30 moritz grondilu: that said, LLVM is *low-level*, more low-level than the other VMs we build on
17:31 moritz maybe moarvm could use LLVMs JIT compiler?
17:31 tadzik people keep asking about LLVM :)
17:31 * moritz has no idea what the moarvm JIT plans are
17:35 prammer joined #perl6
17:39 perigrin moritz: moarJIT obviously.
17:42 moritz lessTime would be fine too :-)
17:43 [Coke] maybe we should post a sign in the corner "unless you have a plan about how to use LLVM, please don't ask us about LLVM"
17:45 moritz [Coke]: the usual way to go about such a sign is to blog about why no LLVM backend exists, and then link to that whenever somebody asks
17:45 tadzik similar to the Production Ready sign
17:49 sqirrel joined #perl6
17:49 konundra joined #perl6
17:53 masak or the Significant Whitespace sign.
17:54 masak or the Junctions Are Not Sets sign.
17:55 jnthn see all(@the_signs)
17:59 btyler joined #perl6
18:02 geekosaur .oO { signs, signs, everywhere signs / f*ing up the scenery, breaking my mind / do this, don't do that, can't you read the signs? }
18:08 * masak has a feeling whoever wrote those lines shouldn't get into semiotics
18:12 raiph joined #perl6
18:16 geekosaur 1960s. if you mentioned semiotics to them they'd probably want to smoke it
18:18 ajr joined #perl6
18:18 berekuk joined #perl6
18:22 masak I imagine some appropriate mixture of semiotics and category theory would work quite well for smoking.
18:36 bluescreen10 joined #perl6
18:37 bluescreen10 joined #perl6
18:38 bluescreen10 joined #perl6
18:45 benabik .oO( co-smoking? )
18:49 geekosaur or coking
18:50 ajr_ Q. What do you get if you cross a Mafia boss and a semiotician?
18:50 ajr_ A. An offer you can't understand.
18:53 pnu_ joined #perl6
18:54 zwut00 joined #perl6
18:56 zwut00 joined #perl6
18:57 zwut00 joined #perl6
19:08 [Coke] big regression on rakudo.jvm today
19:08 dalek perl6-roast-data: 9700d90 | coke++ | / (5 files):
19:08 dalek perl6-roast-data: today (automated commit)
19:08 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/9700d906ea
19:09 [Coke] +S02-names/is_default.rakudo.jvm aborted 47 test(s)
19:09 [Coke] +S32-str/substr.rakudo.jvm aborted 63 test(s)
19:09 [Coke] almost down below 99%.
19:18 lizmat shit, didn't I fudge that properly ?
19:19 [Coke] eh, if you fudged it for rakudo, that's good for 99% of the time.
19:20 [Coke] probably needs a fudge in each one for rakudo.jvm
19:21 jnthn substr looks like my fault; I turned a soft fail into a hard fail, by the looks of it
19:25 raiph joined #perl6
19:26 [Coke] dammit, jnthn, you had 1 job... er, 2 job... 4? er, nevermind.
19:26 [Coke] jnthn++
19:31 lizmat [Coke]: I'm not sure what I need to fudge for rakudo.jvm
19:32 * moritz is too dumb to find the download link for the oracle JDK for the mac
19:32 lizmat could it be that .VAR doesn't work on rakudo.jvm ?
19:33 * lizmat is hoping to be able to skip from Parakudo to Moarakudo
19:34 moritz I can't a direct download link on http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html and http://www.oracle.com/technetwork/indexes/downloads/index.html#java only has a download link for sources of the jdk
19:34 FROGGS moritz: that is why I hate oracle
19:36 moritz seems I have to follow the "Java SE" links
19:37 moritz ftw http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html seems to have it
19:37 [Coke] lizmat: I would have to build the jvm version, run the test files, see what explodes (it's probably the new test, if any), and go from there.
19:37 [Coke] I will do so this weekend if jnthn doesn't fix it.
19:37 lizmat then my bet is on .VAR not working, because that's the only thing I added that early in the test
19:37 lizmat lat me fudge that just to make sure
19:38 FROGGS moritz: yeah, found it too right now
19:38 * moritz hates, hates, hates going to websites to install software
19:39 moritz there are package managers for all proper OS, and that's what I want to use
19:39 FROGGS moritz: and I hate pages where you have to register in order to download stuff
19:40 Rotwang joined #perl6
19:40 dalek roast: 9b8bfed | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
19:40 dalek roast: Fix most likely reason for failing tests on jakudo
19:40 dalek roast: review: https://github.com/perl6/roast/commit/9b8bfede47
19:40 FROGGS I still get oracle newsletters
19:41 dmol joined #perl6
19:41 konundra joined #perl6
19:58 jaffa4 joined #perl6
19:58 jaffa4 hi
19:58 jaffa4 I am compiling Perl6
19:58 jaffa4 it isa struck  at a point, restrixted settings.
20:00 FROGGS jaffa4: what?
20:00 FROGGS jaffa4: did it fail to compile?
20:00 jaffa4 no it is very slow
20:00 jaffa4 as if it were in an infinite loop
20:01 jaffa4 at a command... perl6..... restricted.settings.....
20:02 FROGGS hmmm
20:02 FROGGS there is a line like: ./perl6 --target=pir  --output=src/gen/RESTRICTED.setting.pir src/RESTRICTED.setting
20:02 FROGGS but this only takes seconds
20:02 FROGGS (on my box)
20:03 moritz yes, should be much faster than the previous steps
20:03 jaffa4 yes, that one
20:03 jaffa4 at least 20 minutes has passed
20:03 FROGGS O.o
20:03 pmurias joined #perl6
20:03 FROGGS that is very weird
20:04 moritz jaffa4: is your machine swapping?
20:04 btyler joined #perl6
20:04 FROGGS jaffa4: do you have free diskspace?
20:05 jaffa4 free diskbase yes 360gbyes
20:05 jaffa4 memory at least 8gbytes
20:05 FROGGS hmmm
20:05 dalek roast: 2dfc5a7 | (Elizabeth Mattijsen)++ | S02-names/is_default.t:
20:05 dalek roast: Add similar tests for %a is default
20:05 dalek roast: review: https://github.com/perl6/roast/commit/2dfc5a75e7
20:06 jaffa4 I pulled the current version from git
20:06 FROGGS jaffa4: what OS do you have? do you build for parrot or JVM backend?
20:06 * lizmat is pulling and building to check
20:07 jaffa4 win 7
20:07 jaffa4 64bit
20:08 FROGGS and you have activeperl installed? or strawberry?
20:08 FROGGS (or cygwin)
20:08 jaffa4 strawberry
20:08 FROGGS that is a problem
20:08 FROGGS that is not supported yet AFAIK
20:09 jaffa4 Whwn I am on windows I use strawberry == Larry Wall
20:09 moritz I wouldn't have expected that to result in extreme slowness
20:10 FROGGS jaffa4: I love strawberryperl too, but there problems with some compiler defaults
20:10 FROGGS are*
20:10 bluescreen10 joined #perl6
20:10 moritz r: {}:<bla>
20:10 camelia rakudo 525c5d: OUTPUT«===SORRY!===␤No such method 'has_compile_time_value' for invocant of type 'String'␤»
20:10 FROGGS O.o
20:11 FROGGS time perl6 -e 'my @a = ^1001; my Mu $rpa := nqp::hyper_MT(@a, @a, Array, Int); say nqp::p6list($rpa, List, Bool::True); say "done"'
20:11 FROGGS 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 184 186 188 190 192 194 196 198 200 202[...]
20:11 FROGGS \o/
20:12 FROGGS just a bad hack but at least it is working now
20:12 lizmat fwiw, with the latest pull, I don't see any problems on OSX
20:13 FROGGS hmmm, well, jnthn did IO refactors, and the restricted setting disables some IO stuff... could that be it?
20:15 FROGGS jaffa4: can you please do: git checkout 59653455b02b1c1d045442c01a010b9f4d935bc2
20:15 FROGGS and then: make install
20:16 jaffa4 Is anyone going to be in KIev tomorrow?
20:16 * masak
20:16 * lizmat
20:16 jaffa4 and how will you spend the time tomorroe?
20:16 lizmat (is already there)
20:17 masak jaffa4: fretting about connection flights...? :)
20:17 jaffa4 What is the weather like?
20:17 masak connecting*
20:17 lizmat no definite plans yet, probably around dinner back at the hotel to see who'd like to join us for dinner
20:17 jaffa4 masak: no
20:18 lizmat 30+ degrees celsius
20:18 jaffa4 When?
20:18 jaffa4 IN the evening?
20:18 lizmat well, in the afternoon
20:19 lizmat now it's more like 20 approaching midnight
20:19 jaffa4 You mean in youir hotel?
20:19 lizmat should be 30+ again around noon tomorrow
20:19 * PerlJam notes that it's currently about 37°C here
20:19 lizmat no, outside
20:20 lizmat the room has airco :-)
20:20 jaffa4 Is that Dnepr?
20:20 lizmat Dnipro
20:20 lizmat the ukranian way of naming the river
20:21 jnthn .oO( They're pro at naming it )
20:25 lizmat .o( they're not against it either)
20:26 lizmat on that bad note, it's time to try out the bed in the hotel&
20:27 FROGGS gnight lizmat, sleep well
20:28 [Coke] ~~
20:32 jnthn 'night lizmat
20:37 jaffa4 FROGGS: tryinf afain
20:38 FROGGS cool
20:42 cognominal joined #perl6
20:45 jaffa4 FROGGS:  same
20:51 btyler_ joined #perl6
21:40 BenGoldberg joined #perl6
22:00 masak 'night, #perl6
22:00 masak see some of you v Kieve tomorrow.
22:04 tadzik w Kijowie :
22:04 tadzik :)
22:05 jnthn в Киеве :)
22:27 pecastro joined #perl6
22:29 skids joined #perl6
22:35 Woodi joined #perl6
22:41 eternaleye joined #perl6
22:47 lue joined #perl6
22:50 colomon joined #perl6
22:55 dalek nqp: 134167f | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java:
22:55 dalek nqp: Stub in AsyncFileHandle.
22:55 dalek nqp: review: https://github.com/perl6/nqp/commit/134167fe33
22:55 dalek nqp: f06d78e | jnthn++ | src/vm/jvm/ (4 files):
22:55 dalek nqp: Stub in a couple of basic async IO ops.
22:55 dalek nqp:
22:55 dalek nqp: Not actually implemented on the handle yet.
22:55 dalek nqp: review: https://github.com/perl6/nqp/commit/f06d78e73c
22:55 dalek nqp: b212927 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java:
22:55 dalek nqp: Implement asynchronous slurp.
22:55 dalek nqp: review: https://github.com/perl6/nqp/commit/b212927904
23:00 colomon !!!!
23:06 jnthn o/ colomon :)
23:06 colomon \o
23:06 * jnthn is doing some pre-airport hacking :)
23:06 colomon on your way to YAPC::EU?
23:06 jnthn Yeah
23:06 colomon \o/
23:06 jnthn Flight is at 6am o.O
23:07 colomon yow
23:07 jnthn Yeah...was the only combo of sensible layover time and price that really fitted...
23:07 jnthn Thankfully, the airport trains run all night from the station near here :)
23:08 colomon I apologize for not getting more done for jakudo before the conference.  Though I guess I might be able to sneak in a bit of hacking once we get back home (and before we leave again for the next music festival ;).
23:08 jnthn np :)
23:08 jnthn I've just about got the stuff implemented that I wanted for my concurrency talk :)
23:08 colomon I was quite hoping it could hit 100% by then.
23:09 jnthn It woulda been nice.
23:09 jnthn I did a huge refactor of IO stuff the last few days.
23:09 jnthn It's a bunch cleaner now.
23:09 jnthn That unblocks getting the async bits in for my talk, but also sockets.
23:09 colomon cool
23:09 colomon jnthn++
23:09 jnthn So I'm hopeful we'll have those soon.
23:09 jnthn (Yes, I can look at them if nobody beats me to it.)
23:10 jnthn Dealing with NIO in Java is...argh. :)
23:10 jnthn It's not bad, it's just un-Perl-ishly long-winded :)
23:11 colomon you do the long winded stuff so the p6 user doesn't have to...
23:12 jnthn True :)
23:12 jnthn Asynchronous slurp in the impl I have locally just returns a Promise :)
23:12 colomon oh!
23:12 colomon interesting
23:13 jnthn Same kind of object as an async { ... } block does
23:14 * colomon thinks it should return a Cat.   ;)
23:14 * jnthn will try and have a bunch of nice examples in his talk :)
23:14 * jnthn can think of use cases for both of those :)
23:15 jnthn Alas, no Cat yet, so... :)
23:27 timotimo cool stuff, jnthn :)
23:31 fgomez joined #perl6
23:33 pochi joined #perl6
23:38 dalek nqp: 89491f5 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java:
23:38 dalek nqp: Implement async lines.
23:38 dalek nqp:
23:38 dalek nqp: Pushes each line into a Channel as it is read/decoded.
23:38 dalek nqp: review: https://github.com/perl6/nqp/commit/89491f533c
23:43 dalek rakudo/nom: 495602b | jnthn++ | src/vm/jvm/core/Threading.pm:
23:43 dalek rakudo/nom: Add a partial, preliminary IO::Async::File.
23:43 dalek rakudo/nom:
23:43 dalek rakudo/nom: So far, only supports textual reading (slurp -> Promise, lines ->
23:43 dalek rakudo/nom: Channel).
23:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/495602ba21
23:49 telex joined #perl6

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

Perl 6 | Reference Documentation | Rakudo