Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-08-10

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

All times shown according to UTC.

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

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