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