proj-oot-ootCore

Oot Core is an intermediate language (IL) for Oot.

Goals:

Non-goals:

Properties:

Oot core design todos

--

Operations in some opcodes

Stack ops?

Concurrency

I/O?

or should this be a std lib?

memory

ooty stuff

metaprogramming

Links

See/learn from programmingPartTargetLanguages.

---

Bytecode format

Self-describing format

Oot allows an arbitrarily large number of local variables, etc, and works on any pointer width. Yet in Oot Core's bytecode, we want to fix the size of instructions and of various bitfields. How to reconcile these?

In the header of each Oot program is a set of arbitrarily large self-describing integers. Here's how they work: