Skip to content
Andrew Johnson edited this page Aug 13, 2025 · 21 revisions

We are currently working towards a V1.0 language standard to go along with the V3 compiler makeover.

All relevant approved features are covered by tests in the tests/promises folder.

Exceptions

Error messages are unstable. If something causes an error that is expected, the error-case will be considered stable, however the error message is not stable.

Focus Areas

LM-family languages like LSTS are defined by logical operations on memory regions. For this reason the promises are all obsessed with what specific binary values are expected to result from any operation. Implementing this on top of C often means being more precise than C by specifying sizes like I32 instead of just int. There are also some operations that we truncate to be more reasonable with expectations, such as ~4. One slight exception to this is USize which becomes a U32 or U64 depending on platform configuration.

Clone this wiki locally