p2 progress
I announced that I want to parse 50% of the perl5 syntax within this summer with p2. I think this goal is doable.
The last weeks since YAPC I spent most of my p2 time integrating libuv as external "aio" module. This implements asynchronous non-blocking IO and rudimentary cross-platform process support. libuv is essentially the node.js backend library, and MoarVM stated its goal to switch from apr to libuv also.
I needed libuv before the p5 syntax to check the ability to do fast and easy library bindings with lots of callbacks, and without a FFI yet. This gives me now the feeling how the FFI should be implemented, and if the current post-XS API is good enough or lacks some API support from core. As it turned out only some class (=type)/OO features needed to be added to the public potion API, the p2 backend. Everything else went smooth. I also fixed some more core bugs on my way.
I only added a rudimentary testcase, open a TCP connection with a connect callback, nothing realistic so far.
The libuv documentation is here: http://nikhilm.github.io/uvbook/index.html
The p2 aio binding is documented here in the doxygen docs and the htags API reference.
Now I continue where I left off at YAPC, where I added BEGIN block support: The expression parser, method and function calls, and global symbols.