An open API service indexing awesome lists of open source software.

https://github.com/bohun9/yafl

Functional language compiler targeting LLVM
https://github.com/bohun9/yafl

closure-conversion compiler haskell llvm

Last synced: 12 months ago
JSON representation

Functional language compiler targeting LLVM

Awesome Lists containing this project

README

          

# Yafl
Yafl is a simple compiler for an ML-like functional language targeting LLVM.

### Features
- **Higher-order, curried functions** compiled using a linked closure structure
- **Algebraic data types** with optimization for enumerations
- **Deep pattern matching** compiled to an efficient set of switches
- **Builtin functions** that can be easily extended

### Dependencies
- GHC version 8.10.7: `llvm-hs-pure` doesn't work for newer GHC versions.
- Clang: The Clang executable must be in your system's `PATH` to compile LLVM code.

### Running the Compiler
```
cabal run yafl -- SRC [-o output] [--dump-core] [--emit-llvm]
```