Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-01-31

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

All times shown according to UTC.

Time Nick Message
23:05 arnsholt joined #moarvm
01:19 arnsholt joined #moarvm
01:44 lue joined #moarvm
01:46 jnap joined #moarvm
02:34 FROGGS joined #moarvm
04:21 colomon joined #moarvm
04:26 jnap joined #moarvm
05:27 jnap joined #moarvm
06:28 jnap joined #moarvm
07:26 crab2313 joined #moarvm
07:29 jnap joined #moarvm
07:52 FROGGS joined #moarvm
08:12 FROGGS morning
08:17 nwc10 jnthn: setting!
08:17 nwc10 Stage mast       : 543772.499
08:17 nwc10 Stage mbc        :   3.022
08:17 FROGGS /o\
08:18 nwc10 http://paste.scsys.co.uk/297069 where we are.
08:19 FROGGS The following step can take a long time, please be patient.
08:19 moritz m: say (1144911 + 201539 + 543772) / 3600
08:19 camelia rakudo-moar d6a93b: OUTPUT«525.061667␤»
08:20 moritz m: say (1144911 + 201539 + 543772) / 3600 / 24
08:20 camelia rakudo-moar d6a93b: OUTPUT«21.877569␤»
08:25 tgt joined #moarvm
08:29 jnap joined #moarvm
08:39 V_S_C joined #moarvm
08:39 odc joined #moarvm
08:47 V_S_C When compiling module I get
08:47 V_S_C When pre-compiling a module, its dependencies must be pre-compiled first.
08:48 FROGGS what does that module depend on?
08:48 V_S_C Please pre-compile ...
08:48 V_S_C But I laready pre-compiled the dependency first
08:48 V_S_C *already
08:49 V_S_C I get success with simple modules like Acme::Meow
08:49 FROGGS V_S_C: you are on linux?
08:49 V_S_C No, MoarVM+Winx64
08:49 FROGGS k
08:50 FROGGS so, can you please paste the use statements of you module, and the output of "dir" of the directory the deps are in?
08:50 V_S_C the modules are from modules.perl.org
08:50 FROGGS that does not matter
08:51 FROGGS it is just that one of the deps must be outdated
08:51 V_S_C no, coz I restarted from scratch
08:52 FROGGS but error messages usually don't lie
08:52 V_S_C I'll put my writing of Masak++'s ufo
08:53 V_S_C I rewrote it for MoarVM+Winx64
08:53 V_S_C though I hardcoded some path for my system
08:54 V_S_C so I can get more practice with perl6, than just rebuilding it
08:55 V_S_C it breaks on modules with dependencies though
08:56 V_S_C FROGGS: I'll comeback in awhile & give the url in here so others with Winx64 can have hands on
08:57 V_S_C As it broke on dependencies, I tried proceding manually but the same error got reproduced
08:57 V_S_C left #moarvm
08:59 hoelzro morning #moarvm
08:59 hoelzro made my first PR last night! \o/
09:00 * nwc10 wonders how jnthn is travelling to FOSDEM
09:05 timotimo \o/
09:29 tgt joined #moarvm
09:30 jnap joined #moarvm
09:36 hoelzro is there any *good* docs on libuv?
09:37 hoelzro s/is/are/ # me no English can good
09:40 FROGGS there is just that handbook, which is more some kind of introduction
09:42 hoelzro yeah, that's what I was afraid of
09:44 * hoelzro puts on his wetsuit, gets ready to source dive
09:44 FROGGS I'll get you a hot chocolate when you are back :o)
09:49 hoelzro =)
09:51 diakopter hoelzro: I find the source to be quite easy
09:51 diakopter of course, I found the p5 source easy
09:52 diakopter so maybe my skewed is perspective
09:52 hoelzro heh
09:52 hoelzro the source isn't that bad
09:52 hoelzro I just made a stupid mistake because I was following the book examples too closely without thinking about it
09:54 hoelzro should one use malloc/free in Moar code? or does Moar have a custom allocator routine (I'm allocating a uv_process_t)
09:54 diakopter malloc/free is fine
09:55 hoelzro very good
09:55 diakopter but you should associate it with something that knows when to free it
10:02 hoelzro yeah, I have a uv_close(req, free) in the exit cb
10:03 hoelzro diakopter: do you know if failing to close a pipe should be considered fatal?
10:04 diakopter I wouldn't think so
10:04 diakopter but I don't know all the concerns
10:09 hoelzro alright
10:09 hoelzro there's a JVM test that does nqp::close($pipe); nqp::close($pipe), so I'm leaning towards "doesn't care"
10:13 FROGGS hoelzro: almost
10:14 FROGGS the first attempt should return something true-ish, and the others false
10:14 hoelzro oh, ok
10:14 FROGGS (in case close does return anything at all)
10:14 hoelzro that's doable
10:15 FROGGS r: say nqp::close($*STDERR)
10:15 camelia rakudo-jvm 1d6acc: OUTPUT«(timeout)»
10:15 camelia ..rakudo-parrot 1d6acc, rakudo-moar 1d6acc: OUTPUT«===SORRY!===␤Error while compiling op close: No registered operation handler for 'close'␤»
10:15 FROGGS r: say nqp::closefh($*STDERR)
10:15 camelia rakudo-moar 1d6acc: OUTPUT«close filehandle requires an object with REPR MVMOSHandle␤  in block  at /tmp/tmpfile:1␤␤»
10:15 camelia ..rakudo-jvm 1d6acc: OUTPUT«closefh requires an object with the IOHandle REPR␤  in block  at /tmp/tmpfile:1␤␤»
10:15 camelia ..rakudo-parrot 1d6acc: OUTPUT«Dynamic variable $*STDERR not found␤  in method <anon> at gen/parrot/CORE.setting:12232␤  in any  at gen/parrot/Metamodel.nqp:2693␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2681␤  in any find_method at gen/parrot/Metamodel.nqp:948…»
10:15 FROGGS r: say nqp::closefh($*ERR)
10:16 camelia rakudo-moar 1d6acc: OUTPUT«close filehandle requires an object with REPR MVMOSHandle␤  in block  at /tmp/tmpfile:1␤␤»
10:16 camelia ..rakudo-jvm 1d6acc: OUTPUT«closefh requires an object with the IOHandle REPR␤  in block  at /tmp/tmpfile:1␤␤»
10:16 camelia ..rakudo-parrot 1d6acc: OUTPUT«True␤»
10:16 FROGGS p: say nqp::closefh($*ERR); say nqp::closefh($*ERR)
10:16 camelia rakudo-parrot 1d6acc: OUTPUT«True␤True␤»
10:16 FROGGS gah!
10:16 hoelzro heh
10:16 hoelzro well, I'll worry about return values later
10:16 FROGGS sure :o)
10:17 hoelzro does Moar have some sort of string builder? I'm trying to impl readallfh for pipes, so I don't know the size in advance
10:17 hoelzro should I just read chunks and concatenate the strings?
10:17 moritz probably read chunks into an array, call nqp::join at the end
10:17 FROGGS it could even be that close returns the filehandle it gets... and its truthness says weather it is opened or not
10:18 moritz even if it's not fast yet, join() will eventually be fixed to be O(N), not O(N²)
10:18 moritz no idea what the current state is
10:18 FROGGS moritz: he is doing that in C
10:18 FROGGS so I guess you look for concat
10:20 hoelzro join could also work
10:25 V_S_C joined #moarvm
10:25 jnthn hoelzro: For readallfh you need to read chunks *of bytes*, and then decode the whole lot of 'em, I'd say.
10:26 V_S_C FROGGS: https://github.com/iProcess/mufow64
10:27 hoelzro jnthn: that makes sense
10:27 V_S_C as FastCGI shows on modules.perl.org without experimintal S11 support
10:27 V_S_C so I tried it with https://github.com/dwarring/PDF-Grammar/ also
10:27 FROGGS V_S_C: and FastCGI fails to compile?
10:28 V_S_C It stopped keeping demanding constants.pm compilation
10:29 V_S_C I even did that manually
10:29 FROGGS V_S_C: so, just to be clear, which fails to compile?
10:30 V_S_C I'll rerun it, gimme 2 mins
10:31 jnap joined #moarvm
10:32 V_S_C Please pre-compile C:\Rakudo64\languages\perl6\lib/FastCGI/Constants.pm6
10:32 jnthn V_S_C: What are you doing to pre-compile it?
10:33 V_S_C perl6 --target=mbc --output=C:\RakuDo64\languages\perl6\lib\FastCGI\Protocol.mbc C:\RakuDo64\languages\perl6\lib\FastCGI\Protocol.pm6
10:34 V_S_C jnthn: perl6 --target=mbc --output=C:\RakuDo64\languages\perl6\lib\FastCGI\Protocol.mbc C:\RakuDo64\languages\perl6\lib\FastCGI\Protocol.pm6
10:34 FROGGS that does not precompile C:\Rakudo64\languages\perl6\lib/FastCGI/Constants.pm6
10:34 jnthn V_S_C: You need the extension .moarvm, not .mbc
10:34 FROGGS and the output filename should be moarvm
10:34 FROGGS yeah
10:34 V_S_C But I already precompiled Constants.pm6
10:35 V_S_C Oh the output filename must be it
10:35 FROGGS yeah
10:35 V_S_C coz I tried pir & pbc after failing with mbc
10:35 jnthn It varies by backend
10:36 jnthn pir on Parrot, jar on JVM, moarvm on MoarVM
10:36 V_S_C I know but after mbc, moarvm never occured to me
10:37 V_S_C I imagined moarvm to be for implementation backend..
10:38 V_S_C I knew there's no MIR, & I tried PIR, PBC expecting legacy extensions recycling
10:40 V_S_C Success!
10:40 FROGGS \o/
10:45 V_S_C FROGGS: jnthn: https://github.com/iProcess/mufow64
10:46 V_S_C Its dumbed down with hardcoded path, but now I'll work on adding meaning to it. :)
10:47 V_S_C & I've already corrected it for using moarvm extension. :)
10:47 V_S_C left #moarvm
11:09 tgt joined #moarvm
11:29 tgt joined #moarvm
11:32 jnap joined #moarvm
11:58 tgt joined #moarvm
12:22 tgt joined #moarvm
12:32 jnap joined #moarvm
13:15 tgt joined #moarvm
13:33 jnap joined #moarvm
13:40 tgt joined #moarvm
13:49 woolfy1 left #moarvm
14:04 [Coke] joined #moarvm
14:14 tgt joined #moarvm
14:34 jnap joined #moarvm
15:07 tgt joined #moarvm
15:08 jnap joined #moarvm
15:17 tgt joined #moarvm
16:52 FROGGS[mobile] joined #moarvm
16:56 FROGGS[mobile]2 joined #moarvm
17:21 timotimo has someone tried compiling and/or running MoarVM + rakudo on a raspberry pi?
17:23 diakopter nick got moarvm, don't know about rakudo
17:28 timotimo with only 100 megabytes of baseline memory usage for a perl6 program, it could be feasible
17:40 moritz moarvm compiles fine on the rpi
17:40 moritz nqp-m doesn't
17:40 moritz it gets an "index out of bounds" error somewhere in nqp compilation
17:44 timotimo aww :(
17:44 timotimo and the performance is probably also not very awesome?
17:46 moritz the rpi is rather CPU starved
17:48 [Coke] I went to school at RPI, so this is all very confusing. :)
17:49 timotimo :)
17:49 timotimo i'm considering getting an raspi for some unrelated thing, and putting some perl6 on it just seemed natural :P
17:56 moritz then you can debug nqp-m on it :-)
17:56 moritz and I'll get a working nqp-m at least :-)
17:56 timotimo er ... maybe? i guess?
17:56 timotimo the trouble now is that i only have one device that can display HDMI and that's my TV
17:56 timotimo which obnoxiously does overscan
17:57 timotimo so if i have a terminal on it, i'll miss the first and last 5 lines and the first and last 10 characters
18:00 * moritz considers buying a GPS receiver too, and then use that with the rpi
18:00 moritz ssh exists :-)
18:04 FROGGS joined #moarvm
18:07 benabik joined #moarvm
18:10 tgt joined #moarvm
18:15 timotimo has to be set up first, though :\
18:15 timotimo well, i guess that's doable
18:15 timotimo what are you going to use the gps receiver for?
18:15 timotimo can the raspi work off of a battery?
18:16 arnsholt joined #moarvm
18:18 PerlJam timotimo: http://www.raspberrypi.org/faqs#powerBatteries  :)
18:20 timotimo ah, fair enough
18:52 arnsholt joined #moarvm
19:08 arnsholt joined #moarvm
19:24 arnsholt joined #moarvm
19:45 timotimo motivation will dictate wether i'll spend my evening tuits on $dayjob to make the monday deadline or moarvm to get either heap allocation statistics or however much of little big ints i can build
19:49 tgt joined #moarvm
19:51 arnsholt joined #moarvm
19:59 arnsholt joined #moarvm
20:11 tgt joined #moarvm
20:32 arnsholt joined #moarvm
20:45 arnsholt joined #moarvm
20:50 arnsholt joined #moarvm
21:08 diakopter does nqp not build master from latest moar?
21:08 diakopter I'm getting a bytecode validation error on stage0\nqp.moarvm
21:13 arnsholt joined #moarvm
21:15 diakopter FROGGS: ?
21:15 * moritz tries
21:16 FROGGS diakopter: I can try in a few minutes
21:16 diakopter actually I'm wrong, the bytecode validation error isn't *on* that file
21:17 moritz nqp-m built fine here
21:17 diakopter https://gist.github.com/diakopter/eebc0aaf991340a65616
21:21 nwc10 jnthn: slow thing finished
21:22 nwc10 $ echo $?
21:22 nwc10 0
21:23 moritz diakopter: that's not nqp master, is it?
21:23 diakopter nwc10: which slow thing was this? build rakudo with gc run every allocation,ish?
21:23 nwc10 yes. it's taken 24 days
21:23 [Coke] holy crap.
21:23 diakopter moritz: it's nqp master
21:24 diakopter moritz: nope, you're right
21:25 diakopter I was in the wrong dir
21:25 diakopter *FACESPIKE*
21:26 diakopter moritz: you put TimToday to rakudo credits
21:26 moritz I could tell because latest nqp/master shouldn't complain about --git-protocol
21:26 diakopter also his github name is often larry, I thought
21:26 moritz https://github.com/TimToady/
21:27 FROGGS larry is the display name
21:27 [Coke] https://github.com/larry/
21:27 FROGGS like it shows my real name, which is not my github nick :o)
21:27 diakopter moritz: you put TimToday to rakudo CREDITS
21:28 moritz diakopter: yes, because that's his nickname now, both on IRC and github
21:28 diakopter no it's not
21:28 diakopter TimToday: you around?
21:28 moritz it's not?
21:28 moritz did you even look at the link?
21:28 FROGGS Today?
21:29 diakopter did you? :P
21:29 moritz did you look around here in the channel?
21:29 moritz yes, I did
21:29 diakopter I was just pointing out a typo
21:29 diakopter in the commit
21:29 moritz oh.
21:29 FROGGS *narf*
21:29 FROGGS https://github.com/rakudo/rakudo/commit/1d6acccc6398b571f696f6fba0f715321750c4ad
21:30 FROGGS maybe TimToday is the best friend of Captain Future :P
21:32 diakopter but my other point was that dalek (at one time) used rakudo's CREDITS to correlate git display names to irc names, not github usernames
21:32 diakopter (but I don't know whether it still does that)
21:45 arnsholt joined #moarvm
22:48 FROGGS[mobile] joined #moarvm
22:54 arnsholt joined #moarvm

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