|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 7 June 2013. |
|||
| jnthn | diakopter: I suspect a binary dist of Rakudo * will do so | 00:00 | |
| diakopter | interesting, okay | 00:01 | |
| jnthn | (not saying that's the only case, it's just the immediate obvious example) | 00:02 | |
| diakopter | jnthn: have you thought about the rules of when to look for a .moarvm instead of looking for a .pm ? | 00:03 | |
| alternatively, do you want to not integrate that, and just have an opcode to load bytecode files only? | 00:04 | ||
| (and have all that logic in HLL) | |||
| sorear | um, if you don't, how will you bootstrap nqp? | ||
| or is .moarvm something different from the bootstrap format | 00:05 | ||
| jnthn | diakopter: ModuleLoader in NQP and Rakudo is already written in NQP | ||
| diakopter | sorear: gimme a break; I'm slow sometimes :P | ||
| jnthn | sorear: Good point :P | ||
| r: say 13 % -4 | 00:06 | ||
| diakopter | jnthn: maybe I should know something about ModuleLoader | ||
| jnthn: .oO( if an extension wants to install more than 64k opcodes, in can do its own dispatch with constants..... ) | 00:10 | ||
| ;) | |||
| well, 62k or however many are left | 00:12 | ||
| jnthn | diakopter: Initially I'd been thinking of reserving the first 128 banks | 00:13 | |
| and extension ones go above that | |||
| diakopter | wfm | ||
| jnthn: ahhhhhhh, the design is congealing nicely | 00:19 | ||
| jnthn: O | 00:25 | ||
| jnthn: M | |||
| jnthn: G | |||
| sorear | ? | 00:31 | |
| diakopter | just exclaiming at my design, ish | ||
| jnthn | What? :) | ||
| diakopter | should be nice. | ||
| masak | diakopter: your explanation is not commensurate with your exclamation. | 00:34 | |
| diakopter | :D | ||
|
01:07
tgt joined
01:23
FROGGS joined
01:33
colomon joined
02:10
benabik joined
|
|||
| diakopter makes a macro system so the C preprocessor of moar extension C code injects type checking that should be optimized away | 02:54 | ||
| benabik: ping | 03:18 | ||
| benabik | diakopter: pong | ||
| diakopter | gist.github.com/diakopter/dda1151cf3c28c763d02 | ||
| benabik: ^ any comments? | 03:20 | ||
| (also, anyone) | |||
| there's another couple ways to do the type-checking compile-time-ish | 03:21 | ||
| benabik | diakopter: The initial code snippet is a little confusing. $native_lib var vs function, $prefix arg and local. $package_name unused. | ||
| diakopter | oopsie. | ||
| benabik | (Still reading, may be a little slow as it's late and I've been short of sleep. | 03:22 | |
| diakopter | benabik: fixed | ||
| (and fixed again) | 03:23 | ||
| benabik | The first bit of [pseudo-]code is always the hardest since you never quite know how the rest will turn out. ;-) | 03:24 | |
| Is it deliberate that you call the sss op with is? | 03:25 | ||
| diakopter | line no.? | ||
| oh | |||
| yes | |||
| benabik | Just wanted to be sure. :-) | ||
| diakopter | to point out that since the compiler has the type information, it knows to auto-coerce | ||
| (same as on parrot) | 03:26 | ||
| (without type checking at runtime) | |||
| (same as on parrot) | |||
| benabik | Looks good. I like ops being macro rather than parsed. (ops2c has been a bit of a pain.) | 03:27 | |
| diakopter | this is like an OMGULTRA-slimmed-down XS of sorts, 'cept mostly done much more high-level, and compiler-aware | ||
| benabik | Might make sense to make the fact that it's a function less hidden in macro though, unless you think it might be different someday. Have a CUSTOM_OP_SETUP(tc, frame, arty, types) | 03:29 | |
| But I guess that's more bikeshedding. :-) | |||
| diakopter | nah | ||
| yes it would be nice for tc and arity to appear | |||
| haha | 03:30 | ||
| hahahahaha | |||
| I kill me. | |||
| pass thru dummy macro args whose value is the same as the macro param name | |||
| benabik | It would be nice if the register types could be checked at compile, rather than runtime. But no simple way is coming to mind at the momen.t | 03:31 | |
| diakopter | ah, but they should be | 03:32 | |
| optimized away | |||
| by a smart compiler | |||
|
03:32
JimmyZ joined
|
|||
| benabik | The checks should be optimized away, but the explosions still happen at runtime | 03:32 | |
| diakopter | (would be interesting to see if they actually are) | ||
| yes explosions at runtime | |||
| (meh) | |||
| benabik | Type systems exist to help prevent you from writing invalid code. ;-) | 03:33 | |
| diakopter | ("what, you installed this code into production without ever exercising this code path by calling this function ever even once?") | ||
| benabik | Fail fast. | ||
| diakopter | that's pretty fast :P | ||
| besides, it's a convenience anyway | 03:34 | ||
| it doesn't actually protect anything | |||
| since the coder can provide inconsistent regtypes and $names_sigs | |||
| decommute& | 03:36 | ||
| JimmyZ | .moarvm or .mbc or .mar? :P | 03:43 | |
| benabik | .mvm? | 03:46 | |
.oO( Speaking of bike shedding... ) |
|||
| diakopter | I think either .moarvm or .mvm is good | 03:53 | |
| benabik | Probably .moarvm, given that we're not on FAT anymore. | 03:54 | |
| diakopter | .mbc is a tad redundant or overspecific since there won't be another format for a moarvm file other than bytecode | ||
| .mar is cute, but you store java in a jar and moar in a mar? You're a mar. | 03:56 | ||
| JimmyZ | s/MVM_CUSTOM_OP/MVM_ADD_OP :D | 04:04 | |
| diakopter | benabik: this demonstrates that installing custom ops is simply an optimization of using NativeCall normally | ||
| benabik | diakopter: Albiet one that gets access to the thread context and frame | 04:05 | |
| diakopter | (same as Inline::C to xsubs | ||
| JimmyZ thinks .moarvm is a bit long | 04:06 | ||
| diakopter | benabik: excellent point | ||
| (and via thread context can do insane control flow things) | 04:07 | ||
| along with completely unsafe ones | |||
| benabik | It's more like NATIVE_CALL than NativeCall. ;) | 04:08 | |
| diakopter | wiring up the World to DTRT is trivial | 04:09 | |
| once it's bootstrapped... | |||
| oh wait. | |||
| benabik | .oO( All you have to do is throw yourself at the ground and miss... 0 |
||
| diakopter | well yeah an nqp::op can fake it until then | ||
| yeah so it's currently handwaving a lot | 04:25 | ||
| eternaleye | diakopter: I'd say that .moarvm works pretty well, and .mar could be a zip of .moarvms - that could open up something like how Java jar/class files work out. | ||
| diakopter | (that's the real work of solving it) | ||
| eternaleye | Plus, that way you really do store moar and moar and moar in a mar. | 04:26 | |
| :P | |||
| JimmyZ | I see --target=mbc in nqp-cc-moar.nqp | ||
| :D | |||
| diakopter | bah | 04:29 | |
|
04:54
JimmyZ joined
05:30
tomyan joined
06:27
ssutch joined
07:43
JimmyZ joined
|
|||
| diakopter | JimmyZ: how goes the container branch | 08:15 | |
| hm, seems dalek doesn't want to report I pushed a branch | |||
| o_O nor does it appear in the web UI | |||
| ... probably b/c it has no new commits | |||
| JimmyZ | diakopter: needs jnthn++'s review | ||
| diakopter | JimmyZ: does he know you're waiting on him? | 08:16 | |
| JimmyZ | diakopter: maynot, I don't want to bother him, since he is busy on rakudo jvm | 08:18 | |
| diakopter | he wouldn't be bothered :) just create an issue and assign it to him; he'll prioritize it appropriately | 08:19 | |
| sorear | diakopter: dalek never reports brand-new branches. I consider this a bug, but I never figured out how to fix it. | ||
| diakopter | (or simply .ask him here via yoleaux) | ||
| sorear | diakopter: so I push empty branches, and then push the initial commits, if I want it to show up. :D | ||
| JimmyZ | I'm curious, why dalek won't be killed in #parrot | 08:20 | |
| diakopter | sorear: .oO( I guess I need to make [some content for] a new commit.. ) | ||
| JimmyZ: if they ask.. | |||
| JimmyZ | diakopter: I meant by commit flood | ||
| sorear | JimmyZ: different servers, different rules | 08:22 | |
| JimmyZ | sorear: ok, I tought it's the same server | ||
| sorear | freenode seems to be a much bigger target for spammers | ||
| JimmyZ | oh yes, different irc server | ||
| diakopter: diakopter created branch extops at MoarVM/MoarVM 12 minutes ago | 08:26 | ||
| I see it :P | 08:27 | ||
| diakopter | oh :) | ||
|
08:58
jlaire joined
09:12
tgt joined
|
|||
| diakopter | sorear: gist.github.com/diakopter/40b893c4776d6766f1b4 | 10:50 | |
| (the disassemble of QRegex.moarvm) | 10:51 | ||
| sorear | diakopter: I have no idea why you're showing me this | 10:53 | |
| diakopter | sorear: in case you're interested | 11:19 | |
|
11:37
JimmyZ joined
13:29
birdwindupbird joined
14:00
FROGGS joined
|
|||
| nwc10 | jnthn: on the subject of sockets, MoarVM tests that assume that you can open a socket and connect to port 80 on webservers hang and then fail on a machine that is firewalled | 14:01 | |
| (oh, I'm told it's time to go out) | |||
| that's a "note for future perfection", not a "OMG, must fix now" | |||
| generally, trying to test anything non-locally is not a >99% reliable idea | |||
| jnthn | *nod* | 14:05 | |
| FROGGS | network testing is never reliable tbh | ||
|
15:13
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
moritz joined
|
|||
| nwc10 | presumably "reliable network" is going to be an xemacs release name at some point | 15:13 | |
| masak | :) | 15:14 | |
|
15:44
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
16:08
tomyan joined
17:16
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
17:24
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
17:32
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
17:48
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
17:50
ssutch joined
|
|||
| diakopter | BinGOs: can I try the cherry-pick method? I've never done it. | 17:50 | |
| BinGOs | knock yourself out | 17:52 | |
| diakopter | tried.. | 17:53 | |
| hrm | |||
| oh | |||
| duh, hafta actually switch to the branch into which I want to pull it | |||
| FROGGS | right, same like when you apply a patch from file and want to commit it | 17:55 | |
|
18:48
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
| masak | BinGOs++ | 18:48 | |
| dalek | arVM: a5f01ed | (Chris 'BinGOs' Williams)++ | build/Config/BuildEnvironment.pm: Use clang if there gcc isn't found and clang is |
||
| arVM: 4a2a946 | (Matthew Wilson)++ | build/Config/BuildEnvironment.pm: Merge pull request #32 from bingos/master Use clang if gcc isn't found and clang is |
|||
| diakopter | argh; I wish there was a checkbox on github's web UI of pull requests: "skip merge commit" | 18:49 | |
| dalek | arVM: 6e563cd | benabik++ | build/Config/BuildEnvironment.pm: Fix OS X build by removing -Bstatic/dynamic This introduces an ugly hack to the fairly pretty build system, but hopefully operating system specific compiler hacks are rare. |
18:50 | |
| arVM: ff522d3 | (Matthew Wilson)++ | build/Config/BuildEnvironment.pm: Merge pull request #30 from Benabik/osx-llibs Fix OS X build by removing -Bstatic/dynamic |
|||
|
20:46
_ilbot joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||