Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2013-11-19

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

All times shown according to UTC.

Time Nick Message
01:42 eternaleye joined #moarvm
02:22 colomon joined #moarvm
02:47 _ilbot joined #moarvm
02:47 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:50 lue joined #moarvm
04:28 lue I was a moron like stated earlier, but in a way different than I though [ so facepalm×2 :) ] the error about "near MAST::Node" points to the method signature, not its body.
04:29 lue doing s/MAST/QAST/ there brings me to NQPP6QRegex.nqp , failing with a "This type does not support associative operations" (assumedly caused by my change)
04:30 lue One way or another, I'm not sure MAST::Node actually exists. It only occurs once in the nqp repo (where it was before I replaced it), and in a similar declaration in the nqp-cc directory of the MoarVM repo.
04:55 lue yep, adding a dummy "my MAST::Node $b;" under %WANTMAP (and in-between a sanity-checking dummy "my int $a;" line) causes the error there. Somehow, there is no MAST::Node
05:35 lue nqp: my $no-value; say nqp::islist($no-value)
05:36 camelia nqp-parrot: OUTPUT«Confused at line 2, near "say nqp::i"␤current instr.: 'panic' pc 16308 (gen/parrot/stage2/NQPHLL.pir:6020) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
05:36 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "say nqp::i"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:379)␤  in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤  in TOP (gen/jvm/stage2/NQP.nqp:820)␤  in parse (gen/jvm/stage2/QRegex.nqp:1251)␤  in parse (gen/jvm/stage2/NQPHLL.nqp:1378)␤  in…»
05:36 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "say nqp::i"␤panic␤»
05:36 lue nqp: my $no-value; say(nqp::islist($no-value))
05:36 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
06:44 lue For those moarers out there, I'm having an error triggered on "            elsif MAST::ExtOpRegistry.extop_known($moarop) {" of QASTOperationsMAST.nqp (after making that MAST::Node->QAST::Node change previously). The error is "This type does not support associative operations"
08:41 FROGGS joined #moarvm
09:21 FROGGS Unable to parse expression in method_def; couldn't find final ')'  at line 4403, near "MAST::Node"
09:22 FROGGS \o/
09:22 FROGGS lue: do you know what?
09:23 FROGGS lue: your --prefix is the problem, please let it point to nqp/install
09:23 FROGGS ../nqp/install in your case I think
10:04 tgt joined #moarvm
10:06 jnthn FROGGS: Is the problem when the prefix = "" or "." or so? Maybe we should detect that in Configure?
10:06 FROGGS jnthn: hmmm, not sure yet
10:06 FROGGS I am testing with an absolute path to MoarVM
10:09 FROGGS hmmm, even an absolute path explodes...
10:10 FROGGS it doesnt look that bad though:
10:10 FROGGS /home/froggs/dev/MoarVM/bin/moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm --bootstrap --module-path=gen/moar/stage1 --setting-path=gen/moar/stage1 \
10:10 FROGGS --setting=NQPCORE --no-regex-lib --target=mbc \
10:10 FROGGS --output=gen/moar/stage1/MASTNodes.moarvm /home/froggs/dev/MoarVM/lib/MAST/Nodes.nqp
10:21 FROGGS hmmm
10:22 FROGGS I have no idea why it doesn't like this prefix
10:23 FROGGS ohh, now I know
10:23 FROGGS jnthn: we can't install to MoarVM, because that is what happens then:
10:23 FROGGS MoarVM$ ll lib/MAST/*.nqp
10:23 FROGGS -rw-r--r-- 1 froggs froggs 0 Nov 19 11:07 lib/MAST/Nodes.nqp
10:23 FROGGS -rw-r--r-- 1 froggs froggs 0 Nov 19 11:07 lib/MAST/Ops.nqp
10:23 jnthn Ohh!
10:24 moritz those aren't very big :-)
10:24 jnthn Yeah, they really byte the dust...
10:24 jnthn OK, let's just say in Configure, "don't do that" :)
10:24 FROGGS yeah... or we fix it :o)
10:25 moritz well, I think the current default prefix is .
10:25 jnthn Hm :)
10:25 moritz just change that to install/ or so
10:25 jnthn We may want to make that install/'
10:25 jnthn right. :)
10:25 moritz nobody[tm] will manually supply a prefix of ., I hope
10:25 FROGGS moritz: still then somebody could let it point to MoarVM/ and get this weird parser failure
10:27 FROGGS is there a cross platform way to check if two directories are the same?
10:29 moritz I don't think so
10:29 FROGGS hmmm
10:29 FROGGS okay, I'll go for s/./install/ then
10:30 jnthn Though, you could just check for a README in . and then at the prefix, and make sure that it's the same size, which is high probability to give an accurate result ;)
10:43 dalek MoarVM: 18f9765 | (Tobias Leich)++ | Configure.pl:
10:43 dalek MoarVM: make "install" the default for --prefix, moritz++
10:43 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/18f976576c
10:43 dalek MoarVM: b37d10e | (Tobias Leich)++ | Configure.pl:
10:43 dalek MoarVM: die if cwd eq prefix, lue++, jnthn++
10:43 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b37d10e664
13:41 tgt joined #moarvm
14:02 tgt joined #moarvm
15:02 jnap joined #moarvm
15:17 colomon joined #moarvm
15:42 woolfy left #moarvm
15:48 pmichaud_ joined #moarvm
15:49 tgt joined #moarvm
15:51 sorear_ joined #moarvm
15:52 harrow joined #moarvm
16:00 tadzik joined #moarvm
16:12 FROGGS[mobile] joined #moarvm
16:42 FROGGS joined #moarvm
17:40 ssutch joined #moarvm
17:46 jnap joined #moarvm
18:10 colomon joined #moarvm
18:34 lizmat joined #moarvm
19:38 woolfy joined #moarvm
20:28 colomon joined #moarvm
21:44 lizmat joined #moarvm
21:49 eternaleye joined #moarvm
21:49 woolfy left #moarvm
22:59 BenGoldberg joined #moarvm
23:01 colomon joined #moarvm
23:02 arnsholt_ joined #moarvm
23:30 * lue is having an interesting time trying to learn MVM C code in Rakudo :)
23:36 lizmat joined #moarvm
23:41 woolfy joined #moarvm
23:42 jnthn lue: Best way to learn MoarVM is to start with the data structures.
23:42 jnthn lue: 6model.h, frame.h, threadcontext.h, instance.h are the key ones to read.
23:42 lue you're referring to the land of structs, correct? :)
23:42 jnthn aye
23:45 lue [ I started this because I thought "Oh, I'll just fix the p6store NYI issue". Didn't take me long to realize why I might not be the best candidate atm for implementing something essential :P ]
23:45 jnthn Oh, p6store is evil.
23:45 jnthn I'm still debating with myself over 2 ways to do it...
23:46 jnthn I was originally thinking "C to be faster", then realized that if I do it in C it'll need special handling when we get a specializer and JIT...
23:46 jnthn ...and that even a non-JIT specializer will be able to do branch elimination...
23:47 jnthn (on the nqp::iscont(...))
23:47 jnthn So I'm now learning back to emitting it as a series of ops.
23:47 * lue did learn something about how MVM handles in/out params for the ops though, although GET_REG obviously doesn't work *exactly* like array indexing.
23:48 jnthn GET_REG(cur_op, 0) looks up the register number 0 bytes offset from the current PC
23:48 jnthn And register numbers take 16 bits
23:48 jnthn Which is why you'll see GET_REG(cur_op, 2) for the second arg.
23:48 lue jnthn: that kind of hidden nastiness that's beyond me is what I realized might be keeping a part of the CORE.setting compilation from working right now :)
23:49 jnthn Oh, p6store is the next blocker, yeah.
23:49 lue jnthn: I though there might've been some multi-byte (or generically, multi-'slot') stuff going on with that. Nice to see I was right :)

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