Yafl is a simple compiler for an ML-like functional language targeting LLVM.
- 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
- 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.
cabal run yafl -- SRC [-o output] [--dump-core] [--emit-llvm]