Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2013-11-04

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

All times shown according to UTC.

Time Nick Message
01:01 woosley joined #moarvm
01:37 BenGoldberg r-m: 1
01:37 BenGoldberg Not yet, eh? :)
01:40 TimToady take a vacation to Mars and back, and it'll be done fershure
01:53 arnsholt joined #moarvm
02:28 dalek MoarVM: 7290e90 | jimmy++ | src/io/procops.c:
02:28 dalek MoarVM: remove wrapper from shell by using libuv api directly, this avoids unnecessary string encode/decode and hash get/set.
02:28 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7290e90980
02:44 dalek MoarVM: 8cc37e9 | jimmy++ | src/io/procops.c:
02:44 dalek MoarVM: Better MACRO wrapper
02:44 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/8cc37e9116
05:13 lue joined #moarvm
05:21 johnny5_ joined #moarvm
06:56 lizmat joined #moarvm
08:01 lizmat joined #moarvm
08:02 woolfy joined #moarvm
08:19 woolfy left #moarvm
08:26 FROGGS joined #moarvm
08:33 FROGGS JimmyZ_++
09:18 cognominal joined #moarvm
13:56 jnap joined #moarvm
14:43 benabik joined #moarvm
15:49 benabik joined #moarvm
16:41 BenGoldberg joined #moarvm
16:58 benabik joined #moarvm
17:01 FROGGS nqp: nqp::shell('echo $PWD', '/tmp', {}); nqp::spawn(['echo', '$PWD'], '/tmp', {}) # moar needs a rebuild :o(
17:01 camelia nqp-moarvm: OUTPUT«Error while compiling op spawn (source text: "nqp::spawn(['echo', '$PWD'], '/tmp', {})"): No registered operation handler for 'spawn'␤frame_name_1108␤»
17:01 camelia ..nqp-jvm, nqp-parrot: OUTPUT«/tmp␤$PWD␤»
17:04 diakopter nqp-m: say(nqp::null)
17:04 camelia nqp-moarvm: OUTPUT«␤»
17:04 diakopter o_O
17:05 FROGGS nqp-m: say(nqp::null_s)
17:05 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
17:05 FROGGS \o/
17:07 diakopter nqp-m: say(nqp::null)
17:07 camelia nqp-moarvm: OUTPUT«␤»
17:07 diakopter nqp-m: nqp::shell('echo $PWD', '/tmp', {}); nqp::spawn(['echo', '$PWD'], '/tmp', {})
17:07 camelia nqp-moarvm: OUTPUT«Error while compiling op spawn (source text: "nqp::spawn(['echo', '$PWD'], '/tmp', {})"): No registered operation handler for 'spawn'␤frame_name_1108␤»
17:08 diakopter FROGGS: what's the invocation to build nqp with --gen-moar
17:11 FROGGS I dunno, but I'd guess: perl Configure.pl --backends=moar --gen-moar --prefix=something --make-install
17:11 FROGGS prefix might be just "install"
17:19 FROGGS nqp-m: say(nqp::backendconfig<version>)
17:20 camelia nqp-moarvm: OUTPUT«2013.10-112-ge3e33c2␤»
17:20 diakopter meh
17:20 FROGGS ahh, we're just missing five commits :o)
18:48 timotimo so, i was thinking about games and VM integration again
18:48 timotimo ideally, i'd probably have a script for entities that looks kind of like an event loop
18:48 timotimo so could i, in principle, have a function "get_next_event" that magically returns from the VM into the game engine itself if there's no more events to be processed for that particular entity?
18:49 timotimo without having a stack that's ever growing?
18:49 timotimo and without having to manually trampoline?
18:51 timotimo also, i guess it would also be interesting to run the scripts of multiple entities in parallel
18:52 timotimo especially if the entity scripts are perl6 ... that would probably suck out most of the framerate :P
18:54 benabik I'd do it via continuations.  Game calls VM, VM calls entity code, entity code calls get_next_event, which stores its state as a continuation for the game to call next time the entity gets an event.
18:54 timotimo yeah, something like that
18:55 timotimo i don't know how moarvm looks on the inside, so ... :)
18:55 benabik I think Moar is all linked continuations instead of a stack...
18:56 benabik So it shouldn't be hard to do that.
18:56 timotimo sounds good
18:56 timotimo the game is completely vapourware at the moment though :P
18:56 timotimo as is the game engine
18:57 benabik Alternatively, run each entity in a thread and it just blocks until fed an event.
19:05 timotimo hm, huh. that'd possibly work, too
19:05 timotimo but there may be very many entities, depending on the nature of the game
19:05 timotimo you wouldn't want to start 3000 threads on a regular machine, would you? :P
19:08 benabik Depends on the threading model, I guess.
19:09 timotimo something like "green threads" is probably the same thing i was thinking of. like running up to 4 scripts in parallel or somethig
19:09 timotimo and then doing the continuation trick you mentioned
20:47 dalek MoarVM: 800a236 | (Tobias Leich)++ | / (7 files):
20:47 dalek MoarVM: added filereadable, filewritable, fileexecutable
20:47 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/800a236dd2
21:05 colomon joined #moarvm
21:21 jnthn timotimo: tbh, I'd just throw the events into something with the LockFreeQueue REPR that Channel on MoarVM will be based on, since that'll be easy from C land.
21:21 jnthn timotimo: that's the way async lines works so far :)
21:24 timotimo hm. so you're suggesting the vm is running all the entity scripts all the time?
21:30 * benabik is at the university where the M&S lock-free queue was designed.
21:32 jnthn .oO( Marks and Spencers sell lock-free queues now? Wow! )
21:33 jnthn timotimo: Well, decoupling on messages is generally looser than decoupling on invocations, is all.
21:43 colomon joined #moarvm
21:54 woolfy joined #moarvm
22:08 timotimo ah
22:20 ssutch joined #moarvm
22:29 jnap left #moarvm
23:09 diakopter .
23:42 colomon joined #moarvm
23:49 benabik joined #moarvm

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