Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-08-13

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

All times shown according to UTC.

Time Nick Message
00:45 dalek joined #moarvm
02:47 TEttinger joined #moarvm
05:12 lizmat joined #moarvm
06:01 rurban_ joined #moarvm
06:16 ShimmerFairy joined #moarvm
06:49 zakharyas joined #moarvm
06:58 FROGGS joined #moarvm
07:00 FROGGS o/
07:16 ely-se joined #moarvm
07:25 ingy joined #moarvm
07:33 ely-se If I want to run a hello world program using libmoar I guess it's easiest to generate a file containing data and calling MVM_vm_run_file?
07:35 JimmyZ ely-se: https://github.com/rakudo/rakudo/pull/330/files # something  like this
07:42 camelia joined #moarvm
07:42 [Coke] joined #moarvm
07:42 Util joined #moarvm
07:47 [Coke] joined #moarvm
07:47 Util joined #moarvm
07:59 ely-se cool
08:01 danaj joined #moarvm
08:05 TEttinger joined #moarvm
08:08 camelia joined #moarvm
08:51 brrt joined #moarvm
08:51 brrt good *
08:53 JimmyZ \o brrt
08:54 brrt o/ JimmyZ
09:24 dalek MoarVM: a136892 | jnthn++ | src/6model/serialization.c:
09:24 dalek MoarVM: Clean up SerializationReader pointer on failure.
09:24 dalek MoarVM:
09:24 dalek MoarVM: Otherwise we might try and mark it if we trigger GC when the SC is
09:24 dalek MoarVM: still reachable, and then end up looking into freed memory.
09:24 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a136892445
09:24 jnthn o/ brrt
09:25 brrt \o jnthn
09:31 ely-se \o/ ely-se
09:33 tadzik \o/
09:36 JimmyZ jnthn: re a136892445, any reason set it NULL without free?
09:37 jnthn It's freed on the line below
09:40 JimmyZ oh, miss read it ..
09:41 ely-se Don't talk to Miss Read. She's scary.
09:45 FROGGS_ joined #moarvm
10:39 brrt joined #moarvm
10:40 brrt i think i've solved my problem
10:40 brrt or, at least, theorethically
10:41 brrt etically
10:41 jnthn brrt++
10:41 jnthn What'd you figure out?
10:41 brrt it requires a fixed point algorithm converging on the produced nonterminal sets
10:42 brrt using a trie to collect rules/nonterminals that map to the same nonterminal sets
10:43 brrt i.e. you start off with all individual nonterminals you can generate, and by forming a trie you collect all rules - and their terminals - that map to the same nonterminal sets
10:44 brrt then you generate the nonterminal sets from that. as soon as you stop changing, you must have all rulesets, because you have all nonterminal sets that generate them
10:45 brrt i can accept it if that doesn't make much sense now, but i'm... confident it'll work
10:48 jnthn Well,t he fixed point bit sounds viable at least...
10:55 brrt :-)
10:55 brrt when will you be flying to toky?
10:55 brrt tokyo
10:55 jnthn Tue
10:56 brrt that's soon
10:56 jnthn Aye
10:59 brrt pff.. and the flight will be a day or so, no?
10:59 jnthn An hour down to Munich, and then 11ish over to Tokyo
11:01 brrt hmm... that's actually a bit less than i had expected
11:01 brrt still long, though
11:02 jnthn It's long enough, though I've done worse
11:02 jnthn (Frankfurt to Buenos Aires)
11:03 jnthn About 14 hours
11:07 brrt wow...
11:14 lizmat joined #moarvm
11:19 brrt it works! for now
11:20 jnthn \o/
11:21 brrt let's find something where it breaks :-)
11:21 brrt oh, and it's just for one-child trees, now
11:22 lizmat joined #moarvm
11:22 brrt but at least it deals with cycles correctly
12:00 timotimo brrt: building setcodeobj in the jit should be easy, right? i think i can put a "is the REPR correct?" check in between jgb_consume_ins and jgb_emit_primitive and then put it into emit.dasc
12:01 brrt wait, what
12:01 timotimo and then check_wb and hit_wb
12:01 brrt i think that sounds reasonably sane
12:01 timotimo i have many bails caused by that op in my latest script i'm using to play around with GLR
12:06 timotimo in order to get away from here at all, i'll have to put on sun screen again (factor 50!) but then i'll have sticky fingers and palms again and the very dry sand-y ways will keep adding thin layers of grime to my arms and legs :(
12:07 brrt it's preferable to sunburn, i'd think :-)
12:07 timotimo oh my god, there's sun screen
12:07 timotimo er
12:07 timotimo i meant to write
12:07 timotimo oh my god, there's ice cream
12:08 brrt where are you at, anyway? :-)
12:08 brrt now if you'd write setcodeobj as an exprlist, that would be awesome :-)
12:08 brrt :-P
12:08 timotimo http://www.ziegeleipark.de/index.html - this is the location, https://events.ccc.de/camp/2015/wiki/Main_Page - this is the occasion
12:09 brrt cool
12:09 timotimo https://twitter.com/search?f=images&vertical=default&q=%23cccamp15&src=typd
12:09 brrt are you going on the train?
12:10 timotimo "the train"? there's multiple :)
12:10 timotimo including a self-built one
12:11 brrt cool
12:19 timotimo actually, it's rather hot :)
12:28 brrt :-)
12:28 brrt https://gist.github.com/bdw/f727aa99aece2ff7554d
12:28 brrt it fixed ith
12:32 ely-se is there a public API for writing moarvm files from an in-memory representation?
12:32 ely-se or do I have to implement the serialisation myself?
12:33 ely-se in libmoar
12:33 brrt not sure if public, but, letmesee...
12:35 brrt hmm
12:36 brrt i'd have to ask jnthn. but my suspicion is that you serialize the MVMCompUnit
12:36 brrt but, not 100% sure
12:37 brrt it is not the intention you write your own serializer, no
12:37 ely-se ok cool
12:38 timotimo well, our compilers so far have been written in a language that compiles to mvm bytecode, so we have an op for that
12:38 timotimo that'll be a "public" way to get at it
12:39 ely-se I don't mind generating the bytecode myself, though it'd be nice if I don't have to do that for the container.
12:39 brrt nqp::serialize is what you'd use for it
12:40 brrt i think
12:40 brrt nah, i'm wrong
12:41 timotimo masttofile
12:42 brrt do you think?
12:42 timotimo but the mast compiler isn't public api
12:43 ely-se MVM_mast_to_file is in driver.h
12:43 brrt i have my doubts about that
12:43 JimmyZ isn't there masttofile op?
12:44 timotimo MVM_mast_to_file?
12:44 brrt yes, you're quite right timotimo, that's the right thing
12:44 JimmyZ OP(masttofile)
12:44 timotimo MVM_mast_to_file isn't MVM_PUBLIC
12:44 JimmyZ it is public :P
12:44 ely-se oh
12:44 timotimo i don't think it'd be terrible to expose more stuff as MVM_PUBLIC
12:45 timotimo adding new stuff doesn't break ABI compat, right?
12:45 JimmyZ right, and OPs are always public
12:46 jnthn We should be hesitant in what we mark MVM_PUBLIC
12:47 timotimo well, the ops are, but you'll have to fire up the interpreter to reach them
12:47 ely-se do I need NQP in order to do anything interesting?
12:47 jnthn mast_to_file or mast_to_cu (or whatever that one is called) can become public though
12:47 timotimo yes, mast_to_cu is the name
12:47 jnthn ely-se: You don't *need* it, it's just the only thing with a toolchain to make things convenient.
12:48 ely-se cool
12:49 jnthn You can probably even assemble MAST in C code
12:51 timotimo kind of like how we build the profiler data structures in C code, too
13:05 ely-se Nevermind. I won't use MoarVM.
13:16 brrt that's resolute
13:24 jnthn Well, to be fair, "want to use MoarVM but not interested in using the NQP toolchain" is probably about the pessimal MoarVM experience.
13:44 dalek MoarVM/even-moar-jit: 7805b37 | brrt++ | tools/ (2 files):
13:44 dalek MoarVM/even-moar-jit: Use fixed-point algorithm to generate rulesets
13:44 dalek MoarVM/even-moar-jit:
13:44 dalek MoarVM/even-moar-jit: Rules combine in rulesets because they are equivalent or the
13:44 dalek MoarVM/even-moar-jit: nonterminals they refer to combine. Thus, the key to finding
13:44 dalek MoarVM/even-moar-jit: all rulesets is finding all combinations of nonterminals. This
13:44 dalek MoarVM/even-moar-jit: is achieved by starting the with each nonterminal and iteratively
13:44 dalek MoarVM/even-moar-jit: combining them in a trie. The generated rulesets are then read
13:44 dalek MoarVM/even-moar-jit: from the trie.
13:44 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/7805b3715a
13:45 brrt yeah... perhaps parrot is better for that still, it has at least PIR
13:45 * brrt afk &
13:51 JimmyZ oh new post, brrt++
14:35 arnsholt Yeah, Parrot has PIR. But onb
14:36 arnsholt *on the other hand, you'd have to deal with Parrot =)
14:51 ShimmerFairy jnthn: by the way, turns out MSVC does support a tiny bit of C99, judging by the fact that adding -std=c90 to CFLAGS causes everything to explode pretty quickly :P
14:54 jnthn ShimmerFairy: Aye
14:54 jnthn ShimmerFairy: But sadly not the bit I'd really like it to :)
14:54 ShimmerFairy jnthn: but it's got C++ style comments! That's good enough! ...right? :)
15:02 ShimmerFairy There is a -Wdeclaration-after-statement option, as an example, so depending on the extent of -W options available for C99-isms, we might be able to manage with them plus -Werror for gcc-and-similar users to ensure almost-C90 code.
16:18 ely-se joined #moarvm
17:08 * timotimo reads brrt's latest blog post
17:09 timotimo damn it! i still haven't written anything sensible for the translator tool
17:19 ely-se joined #moarvm
17:21 _itz_ joined #moarvm
18:11 lizmat_ joined #moarvm
18:59 dalek MoarVM/even-moar-jit: 1543514 | brrt++ | tools/tiler-table-generator.pl:
18:59 dalek MoarVM/even-moar-jit: Fix tiler table for nodes that don't yield
18:59 dalek MoarVM/even-moar-jit:
18:59 dalek MoarVM/even-moar-jit: Some rules (e.g. CARG) can only be placed as children of other
18:59 dalek MoarVM/even-moar-jit: nodes (ARGLIST) and as such never yield either REG or VOID. It
18:59 dalek MoarVM/even-moar-jit: used to be the case that such rules were never added at all,
18:59 dalek MoarVM/even-moar-jit: but that is fixed now. As a side affect, table structure
18:59 dalek MoarVM/even-moar-jit: has been simplified.
18:59 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/1543514d03
19:00 jnthn Sounds nice :)
19:09 ely-se joined #moarvm
19:23 timotimo simpl the impl
19:32 ely-se left #moarvm
20:02 zakharyas joined #moarvm
21:39 TEttinger joined #moarvm
23:12 raiph joined #moarvm
23:14 raiph "Upload a PDF and we'll give you the 10 most closely related papers according to the topic model we've built on the abstracts of POPL and PLDI." http://tmpl.weaselhat.com/
23:20 timotimo "upload all your top secret PDFs here!"
23:58 flussence feed it scigen output?

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