Context Navigation

There is a lack of clarity about the path that we plan on taking to implement and use Lorito. This page exists as a roadmap to document what we Parrot developers plan on doing with Lorito and how we expect to get there.

I'm dividing the road to Lorito into several stages. Most of the tasks during a given stage can happen independently, making it easy to parallelize.

Lorito Design

Implement some PMCs, ops and library bindings in Lorito to demonstrate that Lorito is sufficiently powerful. Because Lorito is not intended to be written directly, this stage may involve some annoyance on the part of the implementors.

Identify and deal with blockers to implementing core PMCs and systems in Lorito.

Get a rough idea of how PIR -> Lorito translation will work. The same goes for Lorito -> C code and Lorito -> C functions.

Stage 1: Prototype

Lorito Prototype

Implement Lorito as PIR dynops, allowing them to be processed by the imcc and other existing tools.