Skip to content
/ Yafl Public

Functional language compiler targeting LLVM

Notifications You must be signed in to change notification settings

Bohun9/Yafl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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]