23 lines
1.1 KiB
Markdown
23 lines
1.1 KiB
Markdown
# peon-rewrite
|
|
|
|
Work in progress for Peon 0.2.x
|
|
|
|
|
|
## What changed
|
|
|
|
- Peon will no longer use a runtime GC. Instead, the memory model will use ~~lifetimes with regions~~-- actually, peon will use
|
|
[generational references](https://verdagon.dev/blog/generational-references) instead (they're way cooler IMHO)
|
|
- The compiler has been completely overhauled and no longer handles any code generation (in fact, currently there is no code generation
|
|
at all, just a parser and a type checker). This is to allow for true multi-backend support as well as to improve separation of concerns
|
|
because all the code generation stuff intertwined with the typechecking was driving me insane (please do send help)
|
|
|
|
## Build
|
|
|
|
Just run `nimble build`. It should grab all the dependencies, run the test suite and produce a `peon` binary in your current working directory
|
|
|
|
|
|
## Tests
|
|
|
|
Peon is starting to get large enough for it to need an automated test suite (wow, much fancy, such cool), so you can run `nimble test`
|
|
to run that (it's also ran automatically at every `nimble build`). The tests aren't using testament because I have a severe case of NIH syndrome,
|
|
sorry folks! |