Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 6 years ago)
- Default Branch: main
- Last Pushed: 2024-04-25T05:20:19.000Z (9 months ago)
- Last Synced: 2024-04-25T06:28:24.215Z (9 months ago)
- Topics: compiler, cpp, functional-language, programming-language
- Language: C++
- Homepage: https://eyelash.github.io/moebius
- Size: 553 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- 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