Rule DSEL with Examples Steve Kollmansberger and Martin Erwig (maintained by listofoptions, do not email main contributors!) 1. PREPARATIONS Requires GHC 8.10 and above You can start the examples with cabal repl Other Haskell compilers/versions not tested. Your mileage may vary. (updated to latest haskell, test suite pending) 2. CORE FILES The core DSEL files are: NDSM.hs Non-deterministic state monad TypeGU.hs Generic unification, substitution, and structures TypeGT.hs Rule DSEL, including lifting 3. EXAMPLES TypeFV.hs Determine if a variable is free in a lambda term TypeFVSet.hs Determine the set of free variables in a lambda term TypeLam.hs Type inference for lambda calculus TypeChgTrad.hs The first (par, arg, def) type change system TypeChgMin.hs The second (vchg) type change system TypeChgPlus.hs Concrete change suggestions Supporting file: TypeChg.hs Foundation for all type change examples
listofoptions/Haskell-rules
Haskell Rules is a domain-specific embedded language that allows semantic rules to be expressed as Haskell functions.
HaskellGPL-3.0