Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lunacookies/minic
https://github.com/lunacookies/minic
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lunacookies/minic
- Owner: lunacookies
- License: other
- Created: 2022-09-12T12:08:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-06T22:04:41.000Z (almost 2 years ago)
- Last Synced: 2023-04-15T14:37:30.458Z (over 1 year ago)
- Language: C
- Size: 410 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
###### minic
a tiny c-ish language, hopefully.
###### philosophy
- predictability
- simplicity
- familiarity
- don’t put performance above everything else
- minimize undefined behavior
- optimize for tooling
- lightning fast compilation by replacing LLVM
with something less aggressive
- generics, if they end up in the language,
should be very limited
to avoid [the problem with typeclasses](https://github.com/fsharp/fslang-suggestions/issues/243#issuecomment-916079347)
- reduce the need for a borrow checker
with runtime memory safety checks
and a culture of simple ownership semantics
(pervasive use of arenas)###### implementation notes
- written in C11 for now
- compiles to aarch64 asm
- currently only works on macOS running on Apple Silicon
- allocates all memory at startup –
no dynamic memory allocation whatsoever
- resilient to errors in source code
- architected for multithreaded builds,
though that isn’t necessary at the moment
since there exist no large codebases
for which multithreading would be beneficial
- _not_ architected for IDEs;
that comes later when I implement the ...
- self hosted compiler! (one day)