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