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