HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 04:40:23 GMT Content-length: 1882 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) This page serves as a todo list for PIRATE, the next generation self-hosted PIR compiler built with nqp-rx. Once PIRATE emits some form of Lorito, this todo list is complete. "Some form of Lorito" could be a Lorito-based tree, Lorito bytecode or something else. This should be an approximately ordered list of what's necessary to bring PIRATE to completion as Parrot's default PIR compiler. * ~~fix examples/pir/make_hello_world_pbc.pir for a post-dynop_mapping parrot~~ - ~~OpLib needs to be made aware of op mapping.~~ - ~~We need a dedicated PackfileBytecodeSegment PMC to hold the op mapping (and generally be less hacky than a raw segment).~~ - ~~this code serves as a minimal test case for the feasibility of our packfile PMCs for pbc generation.~~ * Migrate PCT to newPOST from PIRATE - Emit PIR from newPOST nodes. - Migrate oldPOST from PIR to NQP. - Implement bootstrap properly (pmichaud promised to help) * Update nqp-rx to use PIRATE's POST format. - the current version uses strings rather than structure to store data and isn't amenable to PBC generation without a full PIR compiler - some discussion with pmichaud is necessary, but he supports the change - this is necessary to enable direct POST->pbc translation and by extension, POST->pbc->Lorito translation * Move PIRATE to compilers/ and make it optional as Parrot's default PIR compiler. * Make Parrot's build work and tests pass with PIRATE as the PIR compiler. - Do the same for Rakudo, Partcl and any other HLLs and libraries that are actively maintained at the time. * Rip out imcc ~~and delete pirc~~. - A post-imcc party is optional but highly recommended. * Make PIRATE output Lorito ops (or a LOST tree) based on PIR->Lorito translations. - Once this happens, we can use the Lorito to generate C code for a byte-code free bootstrapping build. function updateActionF