2023-07-20 14:38:38 +02:00
|
|
|
# peon-rewrite
|
2023-07-20 14:32:12 +02:00
|
|
|
|
2023-07-20 14:38:38 +02:00
|
|
|
Work in progress for Peon 0.2.x
|
2023-10-09 10:37:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
## What changed
|
|
|
|
|
2024-02-19 17:38:17 +01:00
|
|
|
- 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)
|
2023-10-09 10:37:57 +02:00
|
|
|
- The compiler has been completely overhauled and no longer handles any code generation (in fact, currently there is no code generation
|
2024-02-19 17:32:51 +01:00
|
|
|
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
|
2024-02-19 17:38:17 +01:00
|
|
|
because all the code generation stuff intertwined with the typechecking was driving me insane (please do send help)
|
2024-02-19 17:32:51 +01:00
|
|
|
|
|
|
|
## Build
|
|
|
|
|
2024-04-08 14:33:14 +02:00
|
|
|
Just run `nimble build`. It should grab all the dependencies, run the test suite and produce a `peon` binary in your current working directory
|
2024-02-19 17:32:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
## 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`
|
2024-04-08 14:33:14 +02:00
|
|
|
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!
|