Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-07-22

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

All times shown according to UTC.

Time Nick Message
01:04 colomon joined #moarvm
01:27 colomon joined #moarvm
02:00 colomon joined #moarvm
03:07 JimmyZ \o/, now the left blockers for bootstrap are exception, serialization, nqp::sprintf
03:12 JimmyZ nqp::sprintf is not, actullay
03:16 dalek MoarVM: aee4943 | diakopter++ | src/6model/reprs.c:
03:16 dalek MoarVM: macroize some boilerplate in reprs.c
03:16 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/aee494376d
03:16 felher joined #moarvm
03:16 diakopter JimmyZ: you sure that's it?
03:17 diakopter boy, I can't remember how far jnthn got with exceptions
03:17 diakopter istr some tests?
03:18 JimmyZ diakopter: well, at least commented lines in nqp-src are these :P
03:19 diakopter but I thought not all of nqp was in nqp-src yet
03:20 JimmyZ diakopter: maybe, the base part is there
03:22 JimmyZ diakopter: you mean exception test?
03:23 diakopter yeah, I thought I remembered he wrote some tests for it
03:23 JimmyZ diakopter: 44-try-catch.t
03:23 diakopter in moarvm
03:26 JimmyZ there is a exceptions.t
03:26 JimmyZ but not much test
03:29 cognominal joined #moarvm
04:15 dalek MoarVM: 9b30713 | diakopter++ | src/6model/bootstrap.c:
04:15 dalek MoarVM: macroize a bunch of boilerplate in bootstrap.c
04:15 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/9b3071340e
04:16 diakopter removed 134 lines there
04:56 birdwindupbird joined #moarvm
05:03 diakopter seems 9b3071340e76b119b05c48b3288607274a8e4924 broke the build... *sigh*
05:03 diakopter fixing
05:14 dalek MoarVM: d5692dc | diakopter++ | src/ (5 files):
05:14 dalek MoarVM: replace some boilerplate with repr_conv calls
05:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d5692dc55b
05:14 dalek MoarVM: ec260e0 | diakopter++ | src/6model/bootstrap.c:
05:14 dalek MoarVM: oopsie
05:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ec260e0269
05:15 JimmyZ Is there a easy way to step into macro code?
05:16 diakopter visual studio does it, but only if you have a breakpoint inside the macro
05:16 JimmyZ good tips, thanks
05:36 diakopter lizmat: yer online
05:37 diakopter lizmat: I've revised my imagined prefix for p6-in-p5 modules on CPAN - fromp6:: (to be more consistent with the way they appear the other way in p6)
05:56 jnthn JimmyZ: No, not all of NQP is in nqp-src/ yet. nqp::sprintf isn't actually needed to reach bootstrap, iirc.
05:56 jnthn I meant to do more on exceptions in the weekend, but spent it all on a Buf do-over...
05:56 diakopter jnthn: I finally commits in master for the first time in a while :)
05:56 jnthn yes, noticed ;)
05:57 jnthn Will read them on the train, or while le students do exercises
05:57 jnthn (off to teaching shortly)
05:57 diakopter removed some eye-gouging boilerplate; that's all
05:57 diakopter have fun teaching
05:57 diakopter and training
05:57 diakopter er, yeah.
05:59 diakopter jnthn: I'm making nqp::loadextension one of those that can do non-local return...
06:01 diakopter er.
06:01 diakopter hrm.
06:01 diakopter seems I need to read the transcript of our conversation from the other day again
06:03 * jnthn isn't sure why :)
06:03 jnthn (it would need to do that)
06:06 JimmyZ jnthn: yeah, and good moarning
06:07 diakopter jnthn: when you get a chance, remind me how we were going to factor the extension loading initially...
06:07 diakopter oh, loadmoremoar
06:09 diakopter actually, yeah.
06:09 diakopter loadmoremoar should be able to run some bytecode if it wanted
06:10 diakopter (triggered from the MVM_ext_init(tc) load entry point of the extension being loaded, if it has one
06:10 diakopter )
06:10 diakopter just to provide ultimate flexibility. doesn't cost anything or restrict/constrain anything to add it
06:11 jnthn I don't think we need to even add anything.
06:11 jnthn It should be able to just work
06:11 jnthn "loadmoremoar" wasn't quite a serious name suggestion :P
06:12 diakopter hm yeah, I guess someone can always enforce the running of something a different way...
06:12 diakopter k, nm
06:12 diakopter ::loadmoarmoar?
06:12 jnthn :P
06:12 jnthn that's worse :)
06:12 diakopter ::moarmoar?
06:13 diakopter .oO( Khadaffi? )
06:13 diakopter the yaks are multiplying faster than shavers
06:15 jnthn at least you can milk them to make yak tea...
06:15 diakopter O_O
06:16 jnthn train &
06:18 * arnsholt votes for evenmoar
06:18 yoleaux joined #moarvm
06:18 JimmyZ loadmoarnig
06:19 arnsholt JimmyZ: You're working on Windows right?
06:19 JimmyZ arnsholt: yes
06:20 arnsholt Yeah, thought so. Then my GCC-specific knowledge of macro things isn't going to help you a lot =)
06:21 JimmyZ arnsholt: no, it helps me too
06:21 JimmyZ I use msvc due to apr
06:21 arnsholt Aha. Well, the -g option can take a level argument
06:22 arnsholt So if you say gcc -g3 it'll include macro definitions in the debug data
06:22 arnsholt Can't remember how much control gdb gives you inside macro code, but that way you can easily inspect macro expansions and such, at least
06:24 JimmyZ that's great, I did know -g, but I didn't know -g3
06:25 arnsholt Yeah, I only discovered it recently too
06:25 arnsholt I got tired of pasting macro defs from NQP header files into GDB =)
06:27 JimmyZ hmm, I couldn't find -g3 in man gcc
06:27 JimmyZ Oh, fond it
06:27 JimmyZ *found
06:28 arnsholt Yeah, man gcc is a bit terrible
06:30 JimmyZ that's actually useful, thanks
06:33 JimmyZ the only good thing by using msvc is that the debug is with a good user experience
06:33 arnsholt Yeah, can't really say the same about gdb =)
06:33 JimmyZ :-)
07:07 FROGGS joined #moarvm
09:37 donaldh joined #moarvm
09:41 colomon joined #moarvm
11:11 eternaleye joined #moarvm
11:25 eternaleye joined #moarvm
11:38 colomon joined #moarvm
11:43 eternaleye joined #moarvm
11:52 JimmyZ good evening
11:57 FROGGS hi JimmyZ
12:15 JimmyZ Hi FROGGS
12:51 benabik joined #moarvm
14:00 cognominal joined #moarvm
14:01 cognominal joined #moarvm
14:23 cognominal joined #moarvm
15:09 diakopter jnthn: ping
15:09 yoleaux 13:25Z <[Coke]> diakopter: - can we get libicu-dev installed on 06?
15:10 diakopter .tell [Coke] done
15:10 yoleaux diakopter: I'll pass your message to [Coke].
15:14 [Coke] joined #moarvm
15:14 [Coke] left #moarvm
15:14 birdwindupbird joined #moarvm
15:19 jnthn diakopter: decomuting now...will be about later
15:38 pmurias joined #moarvm
15:39 pmurias diakopter: re p5 interop and gather/take what I used in smop/mildew was to use the Coro module on the perl5 to suspend the interpreter
15:41 BenGoldberg joined #moarvm
15:44 diakopter pmurias: I forgot yesterday that I'd already solved it
15:44 diakopter pmurias: it's running in its own thread anyway
15:44 diakopter so it can just stay there
15:45 diakopter the problem becomes if something tries to call back into p5 to another entry point while that thread is suspended
15:54 colomon joined #moarvm
15:55 diakopter pmurias: but that can simply be disallowed if necessary
15:55 diakopter (or do as chipdude_ suggested and run it another thread, using a mutex)
15:56 pmurias diakopter: the p5 interpreter will be in it's own thread?
15:56 pmurias why?
15:57 diakopter because it needs to call back into moarvm
15:58 diakopter and we don't want nested moarvm interpreter runloops
15:58 diakopter so there's gonna have to be a separate thread anyway
15:58 diakopter at some point
15:59 diakopter well, I suppose it could back all the way out of the moarvm interpreter before going into p5
15:59 diakopter ick.
16:04 diakopter well, I suppose that's one way of donig it
16:04 diakopter not really any more hacky than the other way
16:05 diakopter talk about spaghetti, though
16:21 lizmat fwiw, the own thread approach seems sane to me
16:25 * jnthn finds it sane also
16:59 FROGGS joined #moarvm
17:01 colomon joined #moarvm
17:11 cognominal joined #moarvm
17:18 FROGGS joined #moarvm
17:45 diakopter own thread?
17:45 diakopter oh
17:45 diakopter p5
18:35 FROGGS jnthn: is it possible that 'make' in an action-method is some sort of noop right now?
18:38 FROGGS hmmm, no, it passes its test
18:52 jnthn FROGGS: I'd sure hope not :)
18:55 FROGGS jnthn: make is acting right, but I think the regex engine is borken a bit
18:56 FROGGS in sprintf, I have the test pattern "abc %d", which should be two statements, one literal string "abc " and a directive %d
18:57 FROGGS it gets the literal string right, but the statement token matches "abc %d"
18:59 jnthn hm
19:00 FROGGS I'm trying to make a short test case
19:12 FROGGS hmmm, it looks like it is not calling action-methods that have a longname like: directive:sym<d>
19:12 FROGGS and it isnt calling method TOP for some reason
19:15 jnthn oddness
19:18 FROGGS jnthn: https://gist.github.com/FR​OGGS/c7bd14c0da153c88f058
19:18 FROGGS see how it quantifies token a
19:26 FROGGS jnthn: where is moarvm's regex engine? playing with nqp-cc/mqp-src/QRegex.nqp has no effect
19:26 FROGGS ahh, in the setting perhaps
19:30 jnthn QRegex.nqp is where Cursor and friends live
19:30 jnthn src/ contains the regex compiler
19:31 * FROGGS opens QASTRegexCompilerMAST.nqp for editing
19:33 diakopter FROGGS: good luck!
19:33 FROGGS hehe, thanks!
19:34 jnthn diakopter++ wrote most of that file :)
19:39 diakopter jnthn: yesterday I was looking into inference rules for the makefiles.. are you open to that?
19:39 jnthn diakopter: I barely know what they are :P
19:40 jnthn diakopter: Will it hurt portability?
19:40 diakopter there's different syntaxes/structures for gmake and nmake
19:40 jnthn ugh
19:40 diakopter they'd diverge somewhat
19:40 jnthn Is it worth the pain?
19:40 jnthn What about other makes?
19:40 FROGGS bmake >.<
19:40 diakopter well, I need to make dynamically linkable objects from all the .c as well as the current static ones
19:41 diakopter (both msvc and gcc/clang)
19:42 diakopter msvc it's using lib/link; gcc/clang use cc
19:42 diakopter er actually
19:42 arnsholt For the time being, I think requiring one of gmake and nmake is reasonable
19:42 diakopter now I see there's a shortform for windows
19:43 benabik joined #moarvm
20:59 FROGGS who calls that? nqp-cc/src/QASTRegexCompilerMAST.nqp:681:    method subrule($node) {
21:00 jnthn FROGGS: Called whenever we encounter a subrule node
21:01 jnthn FROGGS: See 923 or so
21:01 FROGGS because I think around line 711, it makes the call to the action-method that matched, but it only knows about the name of the proto
21:01 FROGGS so it calls a method a for a:sym<w>
21:01 jnthn That sounds like a problem higher up, potentially
21:15 FROGGS fwiw, $node.name in method 'pass' line 478 has the proper longname, and it gets called for method TOP, but method subrule is not called for TOP
21:15 FROGGS I'm too tired to get this done today... if someone takes a look or picks this up I'd be happy
21:16 * jnthn has to teach in the morning, so won't manage it
21:20 colomon joined #moarvm
21:33 Guest1337 joined #moarvm
22:13 benabik joined #moarvm

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