02:18
vendethiel joined
02:49
flaviusb joined
06:29
flaviusb joined
06:38
brrt joined
06:44
FROGGS joined
07:23
brrt joined
|
|||
brrt | \o | 07:24 | |
07:24
Ven joined
07:42
zakharyas joined
08:05
lizmat joined
08:12
lizmat joined
08:50
Ven joined
|
|||
dalek | arVM: c4c7ebd | brrt++ | src/ (2 files): Revert "Eliminate 100% core use for async things." This reverts commit 58226af4aad0d36517dfb8c250770b8438fdc6d0. Unfortunately, this caused a bit more fallout than downstream was prepared to deal with. This patch will be reapplied to branch 'async_wakeups' so development can continue. |
09:44 | |
arVM/async_wakeups: 357e65a | jnthn++ | src/ (2 files): Eliminate 100% core use for async things. Use async wake-ups instead of an idle handler. For this to work out we also need a semaphore to avoid a race in sending the first task to the event loop. GC is also far better handled, using prepare/check handles so another thread can work-steal the event loop thread for GC purposes when it is sleeping awaiting an I/O notification etc. |
09:45 | ||
10:08
Ven joined
|
|||
timotimo | i'm glad we're allowed to put our newest work under the noses of our fellow perl6ians with this ^ | 11:37 | |
13:12
FROGGS joined
14:33
zakharyas joined
14:35
vendethiel joined
15:29
vendethiel joined
16:49
brrt joined
17:56
vendethiel joined
18:50
brrt joined
19:02
Peter_R joined
|
|||
brrt | hmmpf | 19:08 | |
i want to do something like MVMIODescriptable which has a single method descriptor() | |||
nwc10 | good hmmpf? | ||
or hmmpf morning? | |||
brrt | good evening :-) | 19:09 | |
jnthn | brrt: That seems reasonable | 19:10 | |
brrt | but i find that a): in all cases uv_file is just an int | ||
jnthn just successfully used new appartmnet's kitchen to make noms o/ | |||
brrt | which means that i should be able to put it into a MVMint64 field, i'd think | 19:11 | |
nwc10 | yay | ||
is the beer fridge fully operational too? | |||
brrt | good busy jnthn :-) | ||
jnthn | nwc10: Not yet fully stocked | ||
nwc10: But yes, my refrigerator is running :) | |||
brrt | shouldn't be so hard to stock a beer fridge in .cz | ||
jnthn | Yesterday I discovered the train to .cz actually had beer on tap. | 19:12 | |
Draught beer. On a train! | 19:13 | ||
(It was morning, so I didn't test it out.) | |||
nwc10 | yay. that's better than the train to Dresden, which merely had .cz beer. | ||
(at Hungarian prices. I wasn't complaining) | 19:14 | ||
brrt | unbelievable :-o | ||
jnthn wonders if a Gulaschprogrammiernacht is a night where you eat gulash and hack, 'cus that sounds awesome... | 19:23 | ||
FROGGS | jnthn: I think so | 19:24 | |
gulash+hack+talks IIRC | 19:25 | ||
jnthn | wow :) | ||
FROGGS | ohh, it starts tomorrow | 19:26 | |
nwc10 | I'd just worked this out | 19:27 | |
brrt | to make matters considerably more confusing, libuv has uv_file and uv_os_fd_t, and as near as I can tell these are exactly equivalent | 19:28 | |
i'm wrong; uv_file is always an int; uv_os_fd_t is an int on unix and a HANDLE on windows | 19:31 | ||
japhb | jnthn: So what made you pick Prague for your next home base? | ||
FROGGS | jnthn: is there a way for an op to return more than one thing? | ||
jnthn: or write to an obj attribute it became? | 19:32 | ||
brrt | FROGGS - what do you want to do | ||
FROGGS | brrt: get the stdout and stderr filehandle back from nqp::openpipe | 19:33 | |
the filehandles from the child process | |||
brrt | i don't see a reason why you couldn't do an op that had two write registers | 19:34 | |
timotimo | jnthn: there's only actual gulasch on one of the days | 19:35 | |
brrt bbiab | |||
timotimo | but there's con-carne and vegan gulasch to choose from | ||
FROGGS | what is vegan gulash? | 19:36 | |
that does not sounds sane to me | |||
timotimo | it contains "saitan" | ||
we're expecting about 500 people to show up | 19:37 | ||
jnthn | japhb: I like central/east Europe and wanted to come back to the region, and Prague is a very nice mix of well connected, beautiful, and appealing to wife. :) Plus language is close to others I know some of. | ||
timotimo | last year there were more than 500 pre-registrations ... and those are voluntary | ||
FROGGS | hmpf | 19:38 | |
japhb | Slovene and Russian, I'm guessing? (the similar languages that you know some of) | 19:39 | |
jnthn | Slovak, not Slovene. :) | ||
FROGGS | somebody should port tools/update_ops.p6 to nqp | ||
japhb | Duh, yes, sorry | ||
nwc10 | same word for beer? | 19:40 | |
jnthn | Yes, though the word for "draught" is slightly different from in Slovak :) | ||
timotimo | so far i thought "draught" was "a period of very dry weather" | ||
jnthn | That's a drought :) | ||
timotimo | oh! | 19:41 | |
of course | |||
jnthn | A beer drought would be indeed highly unfortunate... | ||
nwc10 | or a measure of a successul evening | ||
japhb | Which, by the way, shows yet again why 'gh' in English basically sounds like 'whatever the heck you want' | ||
jnthn | FROGGS: Why do we need to port it to NQP? It's already in Perl 6... | 19:43 | |
FROGGS | jnthn: because I rebuild nqp after changing moar, and now my perl6-m is outdated and cant regenerate the oplist :o) | ||
japhb | On actual topic: I thought I remembered some reason that multiple write registers in an op was not fully supported -- optimizer or specializer didn't recognize the extra write register or some such, and so lost track of the register during analysis. | ||
FROGGS | it at least seems that a write register at the end does not work | 19:45 | |
my variable in nqp stays NQPMu | |||
the alternative is to return a list... | 19:46 | ||
if there is a nicer option... dont hesitate to write it in the clogs :o) | 19:48 | ||
gnight | |||
japhb | o/ | ||
timotimo | hmm. what exactly do we need that for? | 19:55 | |
jnthn | .tell FROGGS I think quite a few things rely on you only having writes to one register, and it being the first one. | ||
I'm not especially inclined to change that... | 19:56 | ||
20:05
brrt joined
|
|||
lizmat | jnthn: gist.github.com/lizmat/5ae61833fe735865f1fa # trying to implement $=finish | 20:23 | |
the approach is setting the lines in $*FINISH in the compunit | |||
and when $=finish is seen, create access to it | |||
of course, we have a timing / serialization issue | |||
as the ops for $=finish are made well before $*FINISH is set | 20:24 | ||
jnthn: suggestions? | |||
jnthn | lizmat: I'd create a $=finish variable in UNIT right from the start and install a Mu there | 20:27 | |
lizmat: With install_lexical_symbol or so | |||
lizmat: And if we really get a finish, then update it again with the value | |||
lizmat: And then $=finish is just a normal variable lookup | |||
lizmat | ok, I think I can work with that | ||
jnthn | lizmat: I think on a previous patch we worked on together we noted that you can call install_lexical_symbol twice for the same symbol and it just updates it | 20:28 | |
Anyway, you'll emit a QAST::Var for the lookup | |||
You get rid of the $*FINISH this way too :) | |||
lizmat | yup | ||
jnthn | (And you already have $*UNIT available to find the scope to pass to the symbol installer) | 20:29 | |
20:30
brrt joined
|
|||
brrt | huh, i couldn't connect to #moarvm for some time | 20:30 | |
jnthn | odd | ||
brrt | rather | 20:31 | |
20:34
colomon joined
20:43
zakharyas joined
21:04
colomon joined
|
|||
brrt | ok, as i've just informed over at #libuv, turns out that only a syncfile exposes an uv_file, all the others exponse a uv_handle | 21:27 | |
an uv_handle *can* be converted to an int on unix, but only to a HANDLE in windows | |||
i'm not sure exactly how large a HANDLE is? | |||
or even what it is in the first place | 21:28 | ||
a handle is basically a pointer | 21:31 | ||
(windows handle) | |||
jnthn | brrt: msdn.microsoft.com/en-us/library/a...S.85).aspx | 21:32 | |
typedef PVOID HANDLE; | |||
brrt | damnit to hell | ||
ok, that can't be helped, then | |||
jnthn | Amd typedef void *PVOID; | ||
Well, but it's opaque | 21:33 | ||
So you can treat it as an integer if you like | |||
brrt | actually, i cannot | ||
or rather, i'm unsure i can treat it as a fd | |||
which is what i really need for isatty() | 21:34 | ||
jnthn | ah | ||
lizmat | jnthn: if I want to catch usage of __END__ or __DATA__ , which method in Actions should I look at ? | ||
defterm doesn't seem to be it, nor identifier | |||
jnthn | m: __END__ | ||
camelia | rakudo-moar c2a57e: OUTPUTĀ«===SORRY!=== Error while compiling /tmp/gTO0MJ_WAVā¤Undeclared name:ā¤ __END__ used at line 1ā¤ā¤Ā» | ||
brrt | anyway, that means only syncfile can use isatty | 21:35 | |
(i'm wondering. can sockets be tty-ish?) | |||
jnthn | lizmat: In Perl 5, do they have to be followed by a semi? | ||
lizmat | brrt: afaik, no | ||
brrt | hmmm | ||
lizmat | jnthn: they're usually the whole line | ||
so no semi | 21:36 | ||
brrt | but i suppose one can redirect a tty to a socket | ||
21:36
colomon joined
|
|||
jnthn | lizmat: Hmm. Trouble is that we probably wind up in syntax error land 'cus we'll try to parse what's after them | 21:36 | |
lizmat: You could maybe add them as terms in the grammar and call <.obs: ...> | |||
lizmat | well, I want to panic as soon as __END__ or __DATA__ are seen | ||
that would be taking it too far, no? | 21:37 | ||
I mean, I know how you feel about adding terms to the grammar :-) | |||
jnthn | token term:sym<p5end> { ^^ __END__ $$ <.obs: ...> } | ||
lizmat | ok, I'll try that | ||
jnthn | lizmat: Yeah, I'm not entirely thrilled with this solution | 21:38 | |
lizmat: but I can't think of one that won't be tripped up otherwise | |||
TimToady++ is worth consulting for better ideas. | |||
I pondered vws for a moment but...that's worse :) | |||
At least this way the LTM-er can rule it out early | 21:39 | ||
I suspect it may be worth doing if only 'cus it's not entirely obvious what the replacement is... | |||
timotimo | i experimented with making moar.h a "precompiled header"; that didn't seem to change build performance a single bit | 22:20 | |
hm, actually | |||
i should make doubly sure i didn't do it worng | |||
also, i should turn off ccache :) | 22:22 | ||
yeah, seems like 0 change in performance | 22:25 | ||
so maybe gcc does it automatically anyway ... or it refuses to use my .h.gch file | |||
23:58
flaviusb joined
|