01:45
ggoebel joined
|
|||
dalek | arVM: e168617 | coke++ | build/mk-moar-pc.in: autodie was introduced in 5.10.1 RT #125771 - make this dependency explicit. |
03:05 | |
[Coke] | why is build/mk-moar-pc.in copyright Daniel Dehennin ? | 03:07 | |
06:53
zakharyas joined
07:22
ely-se joined
|
|||
ely-se | hi | 07:22 | |
Does MoarVM offer stackful coroutines? A la Lua and Stackless Python | 07:23 | ||
lizmat | just saw this on HN: hal.inria.fr/hal-01100647/document | 07:32 | |
I assume brrt / jnthn are aware of this | 07:33 | ||
ely-se: I assume most of the regulars here are still asleep :-) | |||
ely-se | :O | ||
lizmat | moarvm.org/features.html doesn't give that answer either :-( | 07:36 | |
ely-se | maybe continuations can be used to implement them | 07:37 | |
TEttinger | likely yes | 07:39 | |
continuations should be able to implement almost any control flow, if I understand correctly | |||
ely-se | is it hard to use MoarVM with a language other than Perl 6? | 07:41 | |
lizmat | ely-se: you're going into uncharted territory there | 07:42 | |
ely-se | :p | 07:43 | |
my language currently runs on Erlang but Erlang doesn't support mutable variables so I'm running into issues there | |||
lizmat | "MoarVM has no official assembly language, and at present no known unofficial assembler. Provided a compiler is written using the NQP compiler toolchain (which NQP and Rakudo Perl 6 are), then code can be generated by producing a MAST data structure." | ||
ely-se | is the bytecode format well-defined? | 07:46 | |
well I suppose generating MAST shouldn't be an issue | 07:47 | ||
arnsholt | ely-se: The continuations are used to implement Perl 6's gather/take, which is basically coroutines, so that should definitely be possible | ||
ely-se | arnsholt: it's important that I can yield from functions called from the coroutine (unlike ES6/Python generators) | 07:48 | |
07:48
FROGGS joined
|
|||
arnsholt | The coroutine being a, but the yield being in b (called by a), you mean? That's possible, yeah | 07:49 | |
ely-se | yeah. nice! | ||
I can't wait to implement this stuff. | 08:05 | ||
08:20
ely-se left
08:32
ely-se joined
|
|||
ely-se | I wrote a VM in JavaScript to overcome the lack of green threads in browsers XD | 08:32 | |
TEttinger | ely-se: wat? | 08:34 | |
was it the Wat VM? | |||
shadowcat hangs around here too, I believe s/he implemented a wat variant too | |||
ely-se | TEttinger: one more level of indirection solves all problems, and VMs are indirection! | 08:36 | |
TEttinger | heh | ||
was it wat? | |||
ely-se | no | ||
TEttinger | damn | ||
I like that one | |||
ely-se | The desktop/server VM is called Dexter from "desktop" and "server", and the web browser VM is called Horror because web development is a nightmare, and also Dexter is a horror-genre TV series. | 08:37 | |
TEttinger | axisofeval.blogspot.com/2013/05/gre...es-of.html | ||
it looks cleaner now | 08:38 | ||
he got rid of the ["" ""] syntax and now it's plain lisp | |||
ely-se | here's mine: github.com/mill-lang/horror/blob/m.../thread.js (has nothing to do with Mill architecture; I didn't know that existsed when I chose the name) | 08:39 | |
TEttinger | nice | ||
ely-se | I have a plan to JIT-compile functions that the VM can prove will never yield the thread | 08:42 | |
and for the desktop/server VM I want to use MoarVM | 08:50 | ||
09:19
zakharyas joined
09:45
FROGGS_ joined
|
|||
nebuchadnezzar | [Coke]: hmm, I made that mk-moar.pc and my emacs automatically add a Copyright header | 11:40 | |
jnthn | Does it have to use autodie, given it's apparently the only thing blocking MoarVM building properly on 5.10? | 11:41 | |
nebuchadnezzar | no | 11:43 | |
I was just lazy at testing | 11:44 | ||
lizmat | jnthn: autodie is really just syntactic sugar | 11:59 | |
e.g. you don't have to do "or die" after an open() anymore to make sure you catch a failed open() | |||
nebuchadnezzar | lizmat: yes, but in fact there is only one open in the file | 12:00 | |
so we can stick to the same perl version as Configure.pl | 12:01 | ||
lizmat | :-) | ||
dalek | arVM: e075ba6 | (Daniel Dehennin)++ | build/mk-moar-pc.in: mk-moar-pc.in: replace autodie with a plain die There is only one open in the file, no need to enforce different perl version dependency than Configure.pl. RT #125771 |
12:08 | |
arVM: fe416c5 | lizmat++ | build/mk-moar-pc.in: Merge pull request #232 from baby-gnu/rt/125771-replace-autodie mk-moar-pc.in: replace autodie with a plain die |
|||
nebuchadnezzar | lizmat: erf, I made a typo | 12:11 | |
lizmat | I guess another PR is in order then... :-) | 12:12 | |
it looked ok to me though | |||
so what's the problem? | |||
parens perhaps ? | 12:13 | ||
nebuchadnezzar | No I use $pcfile in the die message, but it's undefined at that time | ||
12:13
FROGGS joined
|
|||
nebuchadnezzar | travis-ci.org/MoarVM/MoarVM/jobs/74903353#L623 | 12:14 | |
lizmat | ah, yes | 12:15 | |
nebuchadnezzar | lizmat: erf, I updated my branch but as it was already merged I can not make a new pull request with it: github.com/baby-gnu/MoarVM/commit/...7d2ce47f19 | ||
lizmat | one of the things P6 fixed :=) | ||
shall I do it manually then? | 12:16 | ||
nebuchadnezzar | I do not find the github button, so I think yes | ||
dalek | arVM: f99d24c | lizmat++ | build/mk-moar-pc.in: Fix thinko, nebuchadnezzar++ |
12:19 | |
nebuchadnezzar | I should test my commits locally instead of relying on travis | ||
I became too lazy | |||
lizmat | no problem, I should have waited for Travis to complete | 12:21 | |
but the code change seemed ok (through my P6 glasses) | |||
12:27
travis-ci joined
|
|||
travis-ci | MoarVM build failed. lizmat 'Merge pull request #232 from baby-gnu/rt/125771-replace-autodie | 12:27 | |
travis-ci.org/MoarVM/MoarVM/builds/74903571 github.com/MoarVM/MoarVM/compare/e...416c5990cf | |||
12:27
travis-ci left
12:39
ggoebel joined
12:46
colomon joined
|
|||
[Coke] | lizmat++ nebuchadnezzar++ I updated the RT with the new info. | 13:08 | |
15:34
brrt joined
|
|||
dalek | arVM/even-moar-jit: 78598d9 | brrt++ | src/jit/ (3 files): Resolve tiler conflicts by adding new nodes Tiler conflicts can arise because the expression 'tree' is a DAG, and consumers of a node may require different tilings. (E.g. one may require a node to yield a label and another may require a register). To resolve these conflicts, we add a new node to the tree, with the same child nodes but assigned to the new tile. Because tiling is a bottom-up process, this will not generate a new conflict and the result must be a tiling without conflicts. |
15:35 | |
MoarVM/even-moar-jit: 24e6abb | brrt++ | docs/jit/ir.md: | |||
brrt | :-o i killed dalek? | 15:38 | |
jnthn | overflowed it, by the looks of it | 15:39 | |
I sometimes wonder why it doesn't just do a sleep(1) between each commit it reports... :P | |||
Maybe 'cus it's an async thingy and in Perl 5 you can't just do it with await Promise.in(1); :) | 15:40 | ||
brrt | right | 15:44 | |
lizmat: i had not read that, no thanks :-) | |||
ely-se: MoarVM is stackless in the C-stack sense | 15:54 | ||
this is both a blessing and a curse | 15:55 | ||
but mostly a blessing | |||
anyway, the last commit was a boatload of expression template documentation, which is hopefully useful for other people | 15:57 | ||
jnthn | brrt++ # documenting | 16:02 | |
brrt | was a useful distraction today. (i went to oldenburg to discuss thesis possibilities with a group there) | 16:03 | |
and the bus trip was a good opportunity for some writing :-) | |||
*is | |||
jnthn | :-) | 16:04 | |
16:13
ely-se joined
17:04
ely-se joined
17:19
rurban_ joined
19:49
Peter_R joined
19:56
ely-se left
|
|||
timotimo read through that documentation | 21:45 | ||
22:19
TEttinger joined
|
|||
hoelzro | v8project.blogspot.com/2015/08/gett...-free.html | 22:21 | |
not entirely relevant to MoarVM's use cases, but still interesting |