Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-04-20

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

All times shown according to UTC.

Time Nick Message
01:28 FROGGS_ joined #moarvm
02:55 cognominal joined #moarvm
12:18 dalek MoarVM: 1cfd3e9 | jnthn++ | / (5 files):
12:18 dalek MoarVM: Implement nqp::signal, support various signals.
12:18 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1cfd3e9d5e
12:57 FROGGS_ src/io/signals.c:71:38: error: ‘SIGBREAK’ undeclared (first use in this function)
12:57 FROGGS_ case MVM_SIG_BREAK:     signum = SIGBREAK;  break;
12:57 FROGGS_ ^
13:07 jnthn OK, I don't know how to get those symbols portably available, so somebody else will have to look into that.
13:07 jnthn I thought including signal.h and doing the Windows fixup would cut it.
13:09 jnthn oh wtif
13:09 jnthn *wtf
13:09 jnthn sigbreak isn't even listed on http://unixhelp.ed.ac.uk/CGI/man-cgi?signal+7
13:10 FROGGS_ that is my signal.h https://gist.github.com/FROGGS/2b55ea26e1240d94fa6a
13:11 jnthn https://github.com/joyent/libuv/blob/master/include/uv.h#L1954
13:11 jnthn Wow
13:11 jnthn It must be a Windows specific one or something
13:12 jnthn odd.
13:13 dalek MoarVM: 4749729 | jnthn++ | src/io/signals.c:
13:13 dalek MoarVM: Only support SIGBREAK where available.
13:13 dalek MoarVM:
13:13 dalek MoarVM: Should hopefully unbreak the build in places it ain't.
13:13 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4749729362
13:19 FROGGS_ from #libuv: 18:43:21<ryah>"Other signals used by the JVM are for internal control purposes and do not cause it to terminate. The only control signal of interest is SIGQUIT (on Unix type platforms) and SIGBREAK (on Windows), which cause a Java core dump to be generated."
13:19 FROGGS_ so, is SIGQUIT something we could use?
13:19 FROGGS_ 18:53:29<DrPizza>ryah: I think CTRL_C_EVENT -> SIGINT, CTRL_BREAK_EVENT -> SIGHUP, CTRL_CLOSE_EVENT -> SIGTERM
13:20 jnthn FROGGS_: We could add that also.
13:20 FROGGS_ and then... how do I ctrl+break? :o)
13:20 jnthn huh?
13:20 jnthn Your keyboard has no break key?
13:22 jnthn Granted, I had to look on mine :)
13:22 FROGGS_ no
13:22 FROGGS_ *g*
13:22 FROGGS_ it is on the roll key usually, right?
13:24 FROGGS_ okay, it seems to be SIGQUIT
13:24 jnthn Mine is on a key next to print screen, and it also has pause on it.
13:24 FROGGS_ my pause has insert on it
13:24 jnthn Yeah, mine has that also
13:24 jnthn All 3!
13:25 FROGGS_ weird :P
13:48 LLamaRider joined #moarvm
15:51 dalek MoarVM: a2c0acc | jnthn++ | src/ (7 files):
15:51 dalek MoarVM: Add async read/write sections to IO op table.
15:51 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a2c0acc0b6
15:51 dalek MoarVM: 23acdf8 | jnthn++ | / (5 files):
15:51 dalek MoarVM: Stub async socket listen/connect.
15:51 dalek MoarVM:
15:51 dalek MoarVM: Just throws over being NYI so far.
15:51 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/23acdf8f02
16:22 dalek MoarVM: cc49314 | jnthn++ | src/ (3 files):
16:22 dalek MoarVM: Implement async read/write ops.
16:22 dalek MoarVM:
16:22 dalek MoarVM: No I/O handle type actually supports them yet, but this gets the
16:22 dalek MoarVM: wiring for them in place.
16:22 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cc4931400d
17:37 tadzik jnthn: what was that trick to get a real exception instead of Internal error: Unwound entire stack and missed handler?
17:48 FROGGS_ I usually put a backtrace_strings before that line
17:48 FROGGS_ though, you have to remove the static of backtrace_strings and add the decl to the header file
17:49 tadzik hmm, I meant in Perl 6 code )
17:49 tadzik :)
17:51 FROGGS_ ummm
17:51 FROGGS_ dunno then :o)
17:51 timotimo --ll-exception
17:51 FROGGS_ ahhh
17:51 FROGGS_ -.-
17:51 FROGGS_ but but
17:52 FROGGS_ that is not in Perl 6 code :P
17:52 tadzik nah
17:52 tadzik there was a CATCH and something thing
17:59 FROGGS_ we have to wait for Jnthn The White then
18:03 jnthn tadzik: Is this in a callback?
18:04 jnthn If so, CATCH { default { .backtrace.say } } or so
18:04 LLamaRider joined #moarvm
18:05 jnthn Uncaught exceptions in callbacks are currently not well handled at all.
18:34 dalek MoarVM: 9aa2504 | jnthn++ | src/core/hll.c:
18:34 dalek MoarVM: Fix HLL mapping of type objects.
18:34 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/9aa25049f4
18:34 dalek MoarVM: d78e3ae | jnthn++ | src/io/syncsocket. (2 files):
18:34 dalek MoarVM: Make host resolution more widely available.
18:34 dalek MoarVM:
18:34 dalek MoarVM: Want to re-use it in async sockets.
18:34 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d78e3ae03c
18:35 dalek MoarVM: 1b43c4e | jnthn++ | src/io/asyncsocket.c:
18:35 dalek MoarVM: Got asynchronous socket connect in place.
18:35 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/1b43c4e489
20:41 tadzik jnthn: yes, it is. And that didn't work :/
20:41 tadzik I can provide a testcase
20:41 tadzik but it was an action-at-a-distance bug
20:42 tadzik I assigned a rat to something, that was later treated as Int
20:42 tadzik (or even int)
20:52 dalek MoarVM: deeb020 | jnthn++ | src/io/asyncsocket.c:
20:52 dalek MoarVM: Add asynchronous socket write (string and bytes).
20:52 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/deeb0207a8
20:52 jnthn tadzik: Ugh.
20:52 jnthn tadzik: Are you expecting correct closure semantics of it?
20:52 jnthn tadzik: 'cus I ran into that not working recently
20:53 jnthn Now I just need reading from an async socket and it might even be useful...
20:54 tadzik jnthn: hm, closure semantics? Not sure what I expect :D
20:55 tadzik what I expect is Perl 6 exceptions, if it's a Perl 6 error
20:55 tadzik I mean, I can handle that, I've ran into few of these already; Steroids customers may be surprised
20:55 tadzik I guess I can put a general CATCH in every C-callback that Steroids creates
20:56 jnthn tadzik: That's what's needed for now.
20:56 tadzik I'll do that and see if it covers everything
20:56 jnthn tadzik: Though in the future (not too distant) MoarVM needs patching to cope better with this.
20:57 tadzik oh, a segfault :)
21:49 dalek MoarVM: ff8ce63 | jnthn++ | src/io/asyncsocket.c:
21:49 dalek MoarVM: Implement chars case of async socket reads.
21:49 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ff8ce63b1c
21:49 jnthn Super-crappy async LWP: https://gist.github.com/jnthn/11126125 :)
21:55 tadzik niiice
21:55 tadzik jnthn++
22:12 _sri jnthn++
22:15 cognominal yea, jnthn++
22:26 _sri wouldn't a .then() with two closures as arguments look better than the "if $sr.status == Kept {" thing?
22:27 jnthn _sri: Yes.
22:28 jnthn _sri: Also a .catch(...) or so when you only care about the error.
22:28 * _sri nods
23:08 dalek MoarVM: 4b06155 | jnthn++ | src/io/asyncsocket.c:
23:08 dalek MoarVM: Implement async server sockets.
23:08 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4b06155b2b

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