https://github.com/eyelash/moebius
a simple and fast functional programming language
https://github.com/eyelash/moebius
compiler cpp functional-language programming-language
Last synced: 9 months ago
JSON representation
a simple and fast functional programming language
- Host: GitHub
- URL: https://github.com/eyelash/moebius
- Owner: eyelash
- License: mit
- Created: 2019-01-27T15:22:15.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-04-25T05:20:19.000Z (almost 2 years ago)
- Last Synced: 2025-04-01T06:12:30.515Z (10 months ago)
- Topics: compiler, cpp, functional-language, programming-language
- Language: C++
- Homepage: https://eyelash.github.io/moebius
- Size: 553 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Moebius
a simple and fast functional programming language
## Selling Points
- simplicity
- performance
- safety
- a fast compiler
## Instructions
```bash
# clone the repo
git clone https://github.com/eyelash/moebius
# compile the compiler
cmake .
make
# compile some moebius code
./moebc examples/HelloWorld.moeb
# run the compiled code
examples/HelloWorld.moeb.exe
```
## Roadmap
- codegen
- [ ] x86
- [x] C
- [x] JavaScript
- optimizations
- [x] monomorphization
- [x] dead code elimination
- [x] inlining
- [x] constant propagation
- [x] tail call optimization
- [ ] common subexpression elimination
- [ ] register allocation
- types
- [x] integers
- [ ] floating-point numbers
- [x] closures
- [x] structs (product types)
- [x] enums (sum types)
- [x] arrays
- [x] strings
- [ ] interfaces
- [x] recursive types
- [x] first-class types
- operators
- [x] arithmetic (`+`, `-`, `*`, `/`, and `%`)
- [x] relational (`==`, `!=`, `<`, `<=`, `>`, and `>=`)
- [ ] logical (`&&`, `||`, and `!`)
- [x] compile-time garbage collection
- [x] compile-time reflection
- [ ] testing
- [ ] monadic IO
- [ ] async/await