00:45 dalek joined 02:47 TEttinger joined 05:12 lizmat joined 06:01 rurban_ joined 06:16 ShimmerFairy joined 06:49 zakharyas joined 06:58 FROGGS joined
FROGGS o/ 07:00
07:16 ely-se joined 07:25 ingy joined
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:33
JimmyZ ely-se: github.com/rakudo/rakudo/pull/330/files # something like this 07:35
07:42 camelia joined, [Coke] joined, Util joined 07:47 [Coke] joined, Util joined
ely-se cool 07:59
08:01 danaj joined 08:05 TEttinger joined 08:08 camelia joined 08:51 brrt joined
brrt good * 08:51
JimmyZ \o brrt 08:53
brrt o/ JimmyZ 08:54
dalek arVM: a136892 | jnthn++ | src/6model/serialization.c:
Clean up SerializationReader pointer on failure.

Otherwise we might try and mark it if we trigger GC when the SC is still reachable, and then end up looking into freed memory.
09:24
jnthn o/ brrt
brrt \o jnthn 09:25
ely-se \o/ ely-se 09:31
tadzik \o/ 09:33
JimmyZ jnthn: re a136892445, any reason set it NULL without free? 09:36
jnthn It's freed on the line below 09:37
JimmyZ oh, miss read it .. 09:40
ely-se Don't talk to Miss Read. She's scary. 09:41
09:45 FROGGS_ joined 10:39 brrt joined
brrt i think i've solved my problem 10:40
or, at least, theorethically
etically 10:41
jnthn brrt++
What'd you figure out?
brrt it requires a fixed point algorithm converging on the produced nonterminal sets
using a trie to collect rules/nonterminals that map to the same nonterminal sets 10:42
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:43
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:44
i can accept it if that doesn't make much sense now, but i'm... confident it'll work 10:45
jnthn Well,t he fixed point bit sounds viable at least... 10:48
brrt :-) 10:55
when will you be flying to toky?
tokyo
jnthn Tue
brrt that's soon 10:56
jnthn Aye
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
brrt hmm... that's actually a bit less than i had expected 11:01
still long, though
jnthn It's long enough, though I've done worse 11:02
(Frankfurt to Buenos Aires)
About 14 hours 11:03
brrt wow... 11:07
11:14 lizmat joined
brrt it works! for now 11:19
jnthn \o/ 11:20
brrt let's find something where it breaks :-) 11:21
oh, and it's just for one-child trees, now
11:22 lizmat joined
brrt but at least it deals with cycles correctly 11:22
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:00
brrt wait, what 12:01
timotimo and then check_wb and hit_wb
brrt i think that sounds reasonably sane
timotimo i have many bails caused by that op in my latest script i'm using to play around with GLR
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:06
brrt it's preferable to sunburn, i'd think :-) 12:07
timotimo oh my god, there's sun screen
er
i meant to write
oh my god, there's ice cream
brrt where are you at, anyway? :-) 12:08
now if you'd write setcodeobj as an exprlist, that would be awesome :-)
:-P
timotimo www.ziegeleipark.de/index.html - this is the location, events.ccc.de/camp/2015/wiki/Main_Page - this is the occasion
brrt cool 12:09
timotimo twitter.com/search?f=images&ve...p;src=typd
brrt are you going on the train?
timotimo "the train"? there's multiple :) 12:10
including a self-built one
brrt cool 12:11
timotimo actually, it's rather hot :) 12:19
brrt :-) 12:28
gist.github.com/bdw/f727aa99aece2ff7554d
it fixed ith
ely-se is there a public API for writing moarvm files from an in-memory representation? 12:32
or do I have to implement the serialisation myself?
in libmoar 12:33
brrt not sure if public, but, letmesee...
hmm 12:35
i'd have to ask jnthn. but my suspicion is that you serialize the MVMCompUnit 12:36
but, not 100% sure
it is not the intention you write your own serializer, no 12:37
ely-se ok cool
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
that'll be a "public" way to get at it
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
i think 12:40
nah, i'm wrong
timotimo masttofile 12:41
brrt do you think? 12:42
timotimo but the mast compiler isn't public api
ely-se MVM_mast_to_file is in driver.h 12:43
brrt i have my doubts about that
JimmyZ isn't there masttofile op?
timotimo MVM_mast_to_file? 12:44
brrt yes, you're quite right timotimo, that's the right thing
JimmyZ OP(masttofile)
timotimo MVM_mast_to_file isn't MVM_PUBLIC
JimmyZ it is public :P
ely-se oh
timotimo i don't think it'd be terrible to expose more stuff as MVM_PUBLIC
adding new stuff doesn't break ABI compat, right? 12:45
JimmyZ right, and OPs are always public
jnthn We should be hesitant in what we mark MVM_PUBLIC 12:46
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?
jnthn mast_to_file or mast_to_cu (or whatever that one is called) can become public though
timotimo yes, mast_to_cu is the name
jnthn ely-se: You don't *need* it, it's just the only thing with a toolchain to make things convenient.
ely-se cool 12:48
jnthn You can probably even assemble MAST in C code 12:49
timotimo kind of like how we build the profiler data structures in C code, too 12:51
ely-se Nevermind. I won't use MoarVM. 13:05
brrt that's resolute 13:16
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:24
dalek arVM/even-moar-jit: 7805b37 | brrt++ | tools/ (2 files):
Use fixed-point algorithm to generate rulesets

Rules combine in rulesets because they are equivalent or the nonterminals they refer to combine. Thus, the key to finding all rulesets is finding all combinations of nonterminals. This is achieved by starting the with each nonterminal and iteratively combining them in a trie. The generated rulesets are then read from the trie.
13:44
brrt yeah... perhaps parrot is better for that still, it has at least PIR 13:45
brrt afk &
JimmyZ oh new post, brrt++ 13:51
arnsholt Yeah, Parrot has PIR. But onb 14:35
*on the other hand, you'd have to deal with Parrot =) 14:36
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:51
jnthn ShimmerFairy: Aye 14:54
ShimmerFairy: But sadly not the bit I'd really like it to :)
ShimmerFairy jnthn: but it's got C++ style comments! That's good enough! ...right? :)
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. 15:02
16:18 ely-se joined
timotimo reads brrt's latest blog post 17:08
damn it! i still haven't written anything sensible for the translator tool 17:09
17:19 ely-se joined 17:21 _itz_ joined 18:11 lizmat_ joined
dalek arVM/even-moar-jit: 1543514 | brrt++ | tools/tiler-table-generator.pl:
Fix tiler table for nodes that don't yield

Some rules (e.g. CARG) can only be placed as children of other nodes (ARGLIST) and as such never yield either REG or VOID. It used to be the case that such rules were never added at all, but that is fixed now. As a side affect, table structure has been simplified.
18:59
jnthn Sounds nice :) 19:00
19:09 ely-se joined
timotimo simpl the impl 19:23
19:32 ely-se left 20:02 zakharyas joined 21:39 TEttinger joined 23:12 raiph joined
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." tmpl.weaselhat.com/ 23:14
timotimo "upload all your top secret PDFs here!" 23:20
flussence feed it scigen output? 23:58