mass
mass copied to clipboard
A compiler for a new language focusing on compile-time execution and no LLVM dependency.
Mass should have a standard module that allows to write (and read?) ELF executables. This should not be part of the compiler but rather written in the language itself.
Right now the operators are defined as ``` operator 7 (x == y) 'equal ``` Would be nice to make it more consistent with the rest of the definition using...
This would likely require a change to overload resolver to deal with `Tuple`s instead of `Value_View`s - [ ] Simple: `foo(.x = 24, "bar")` - [ ] Tuple spread: `foo(...[.x...
- [ ] Prefix all functions with "mass_" - [ ] Prefix all types with "Mass" - [ ] Merge all source files into a single one on meta build
Mass compiler uses JIT and theoretically allows access to any system api. This is great for certain use cases but can limit some usages, for example as an embedded language...
Right now syscalls are a bit of a hack with a custom calling convention. It should be possible to instead define `intrinsic` functions that would do custom assembly instead and...
- [ ] During resolution of constant lookup the same constant only in the parent scope to avoid circularity - [ ] Implement `|` or some other operator to construct...
When we have code like this, `jmp L1` should be changed to `jmp L2`: ```asm jmp L1 ... L1: jmp L2 ... L2: ``` This can happen for multiple hops...
Right now when access to a static value at runtime is detected, this value is eagerly copied into the data section of the executable with runtime relocations added along the...