Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-07-02

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

All times shown according to UTC.

Time Nick Message
01:56 FROGGS_ joined #moarvm
02:40 btyler joined #moarvm
03:16 lue joined #moarvm
04:18 dalek joined #moarvm
04:20 lue joined #moarvm
05:54 colomon_ joined #moarvm
06:33 sergot morgning o/
06:47 FROGGS_ joined #moarvm
06:58 zakharyas joined #moarvm
07:43 ingy joined #moarvm
08:00 FROGGS damn, is it bad that I am thinking about OpaquePointer.free() and other weird stuff? :D
08:39 brrt joined #moarvm
08:48 brrt \o #moarvm
08:50 FROGGS hi brrt
08:51 brrt hi froggs :-) how's things
08:51 FROGGS brrt: very well :o)
08:51 brrt :-) good
08:51 brrt any particular reason?
08:52 FROGGS yes, P6 is doing nicely and $dayjob is sort of fun also...
08:52 FROGGS so it is like that everything seems to work out nicely what I touch this week
08:55 brrt that is nice :-) p6 is going pretty good i think, too
08:55 nwc10 the ecosystem seems to be lagging behind the core
08:57 brrt which is so by necessity, or not?
08:58 nwc10 I meant things like no Star :-(
08:58 nwc10 but, more, not much that I can spot being written with Perl 6
08:58 nwc10 eg IRC logging is still Perl 5
08:59 FROGGS yes, true
09:02 brrt imho that is because the IO situation wasn't very good up until recently?
09:03 FROGGS it is always that way that we think that something is just ready since recently for I don't know what reason
09:04 brrt so you're saying, just start writing perl6?
09:04 nwc10 I'm certainly saying "start writing Perl 6"
09:04 FROGGS brrt: yes
09:04 nwc10 because someone has to find the rough edges, and the sooner the better
09:04 brrt fair enough
09:04 brrt but i'm writing asm first :-)
09:05 FROGGS see, I am porting Archive::Tar with not that difficulty for example... and this is very Perl5ish code
09:05 FROGGS asm first, deal :o)
09:06 brrt it's actually a quite pleasant intellectual challenge
09:06 brrt :-)
09:06 FROGGS yes, I love this kind of tasks too
09:06 brrt you know what one of the things was that started my interest in perl6?
09:07 FROGGS no?
09:07 brrt i have this suite of scripts, which is a html-tidy-kind of things, a html recompiler of sorts
09:07 brrt it's in perl5
09:07 brrt in perl5, managing stuff like 'classes', and 'objects', and the like, is a huge pain
09:07 brrt still, perl5 is very effective
09:08 brrt managing a tree structure, that is even a bigger pain
09:08 FROGGS true
09:08 brrt hint - i use a linear array with child-length and next-sibling-offsets
09:08 tadzik brrt uses perl5. It's super effective!
09:08 FROGGS eww
09:08 brrt python was too afraid too move
09:09 brrt :-p
09:09 brrt well, somewhat between eww and 'awesome hack' i'd say; i've mentioned luajit does the same
09:10 brrt these kind of data-munging projects is still imho what perl does best, and what perl6 (hopefully) does better
09:12 FROGGS yeah, that is also my impression
09:13 timotimo yeah, nested data structures are kinda nice in p6
09:14 timotimo though you have to wrap your head around item and flattening contexts and stuff
09:24 * brrt wonders if he can write && without jumping
09:47 brrt joined #moarvm
09:59 brrt ok, it can be done, it's a bit of flag-moving, but otherwise no problem
10:44 timotimo moving bit flags?
11:10 brrt :-) yes, actually, moving bits out of the flag register
11:10 brrt it's a long story
11:10 FROGGS is it a bit long?
11:32 carlin joined #moarvm
12:17 jnap joined #moarvm
13:35 btyler joined #moarvm
13:43 colomon_ joined #moarvm
13:54 zakharyas1 joined #moarvm
14:31 FROGGS joined #moarvm
14:42 cognominal joined #moarvm
15:00 brrt joined #moarvm
15:36 brrt when writing write barriers, one would wish we hadn't a generational GC
15:44 dalek MoarVM/moar-jit: 979c207 | (Bart Wiegmans)++ | src/jit/ (4 files):
15:44 dalek MoarVM/moar-jit: Add support for vivifying versions of sp_p6oget
15:44 dalek MoarVM/moar-jit:
15:44 dalek MoarVM/moar-jit: These haven't been tested because I haven't added support for
15:44 dalek MoarVM/moar-jit: guards yet.
15:44 dalek MoarVM/moar-jit: review: https://github.com/MoarVM/MoarVM/commit/979c20726e
15:52 brrt left #moarvm
15:59 jnthn Not having a generational GC would be worse in quite a few other ways :)
16:51 jnthn "After these results are accessed, the pairs are placed into the target register, and the new wine will burst the bottles, and be spilled, and the bottles perish: but they put new wine into new bottles, and both are preserved."
16:51 jnthn Ahh...so that's how VMs work... :)
16:51 jnthn kjp++
16:52 FROGGS O.o
16:52 FROGGS nice quote though
16:53 timotimo what prompted you to say the generational GC thing?
16:54 FROGGS <brrt> when writing write barriers, one would wish we hadn't a generational GC
17:01 timotimo i seem to have backlogged incompletely
17:02 timotimo ah, indeed
17:57 zakharyas joined #moarvm
18:12 timotimo is typevaropt not stable enough to be merged yet?
18:45 brrt joined #moarvm
19:12 brrt hmm
19:14 brrt i'm wondering if we might have to change the deopt architecture a bit
19:15 brrt (hopefully not)
19:15 brrt ok, i'm going to walk-and-ponder
19:15 jnthn ...oopos, missed brrt
19:17 jnthn timotimo: seems not; I get some spectest fails
19:18 timotimo oh, hm.
19:18 jnthn Not sure why, though
19:20 jnthn What's odd is I get a very small number of them, and they see to fail in the same way
19:21 timotimo at least it's consistent, right?
19:25 jnthn Turns out with MVM_SPESH_INLINE_DISABLE=1 it works, and the error looks like a deopt fail...
19:26 timotimo is there a good technique we could employ to hunt deopt issues down further?
19:29 jnthn Alcohol.
19:30 jnthn Then uncomment the fprintf's in deopt.c :)
19:30 timotimo hah
19:30 timotimo all right
19:30 timotimo you can do it!
19:30 timotimo (i'm not that into alcoholic beverages)
19:30 lizmat WD-40?
19:31 jnthn Ingesting that doesn't go well...
19:32 lizmat ah, it was for ingesting ?   :-)
19:36 jnthn my word do we deopt a lot...
19:36 * jnthn shoves "remove unrelied on guards" up his todo list
19:37 timotimo less deopt means less running into that bug, right? ;
19:37 timotimo :P
19:39 jnthn yeah...I'll fix the bug *first* :P
20:10 brrt joined #moarvm
20:10 brrt \o #moarvm
20:11 brrt jnthn here? or has the alcohol already taken it's toll?
20:12 jnthn heh, didn't actually have any yet :)
20:14 brrt :-)
20:16 brrt hmm... so if i'm correct, deopt is basically about taking the current index of the bytecode (the deopt point), finding the index of the original bytecode, and moving the interpreter to that point
20:16 jnthn Basically
20:16 jnthn Though if we're in inlined code it has to recreate the intermediate frames too that were elided thanks to inlining.
20:17 brrt right
20:18 jnthn As for the index: we could potentially hardcode the index into the guard ops that do a deopt_one.
20:18 jnthn Rather than scan the table.
20:18 jnthn For JIT I suggest we do emit the index though
20:19 jnthn Because there's no bytecode to go hunting in.
20:22 jnthn Well, no bytecode offset I mean.
20:28 brrt yes, that is what i meant to say :-)
20:29 brrt ok, my plan was to move bytecode-offset hunting into a separate function, and frame-restoration into another
20:30 brrt so that the JIT can indeed emit a call with a hardcoded number
20:30 jnthn Yeah, the "middle" of deopt wants splitting out.
20:33 brrt ok, that can be a single commit i guess
20:41 jnthn Grrr
20:41 jnthn Think the bug is in merging inline tables, and a failure to fix up return_deopt_idx
20:41 brrt bloody mosquito's
20:42 jnthn Which I can see is missing, but the obvious patch doesn't actually help...
20:42 timotimo a mosquito's what?
20:43 brrt mosquito's biting
20:45 jnthn It does, however, change the failure mode, which suggests I'm poking the right hting...
20:47 timotimo that's a good hint, aye
20:47 timotimo possibly two stacked bugs
20:48 FROGGS or just one that stretches his legs :o)
20:48 timotimo heh.
20:48 timotimo i was thinking like a jenga tower of bugs :D
20:50 lue joined #moarvm
21:07 jnthn ugh, can't think straight...
21:07 * jnthn afk for a bit
21:09 brrt yeah, me too
23:10 jnap1 joined #moarvm
23:13 cognominal joined #moarvm

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