|
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
|
|||