haskell-rules: A DSL for expressing natural deduction rules in Haskell.

[ gpl, language, library ] [ Propose Tags ]


  • Language
    • Rules
      • Language.Rules.NDSM
      • Language.Rules.TypeGT
      • Language.Rules.TypeGU


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],
Dependencies base (>=4.6 && <4.9), syb [details]
License GPL-3.0-only
Author Steve Kollmansberger and Martin Erwig
Maintainer Sophie Taylor sophie@spacekitteh.moe
Category Language
Uploaded by spacekitteh at 2015-01-16T10:24:50Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1565 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2015-11-12 [all 8 reports]

Readme for haskell-rules-

[back to package description]
Rule DSEL with Examples
Steve Kollmansberger and Martin Erwig


Requires GHC 6.2 or 6.4.  You must adjust a setting in TypeGU.hs based on this!

The default setting assumes GHC 6.4.  If you are using 6.4, you don't need to make
any changes.  If, however, you are using GHC 6.2, open TypeGU.hs and comment out
lines 16 and 17.

In addition, glasgow extensions are required.  You can start the examples with

ghci -fglasgow-exts Type_.hs

where _ is the appropriate name, see below.

Other Haskell compilers/versions not tested. Your mileage may vary.


The core DSEL files are:

NDSM.hs		Non-deterministic state monad
TypeGU.hs	Generic unification, substitution, and structures
TypeGT.hs	Rule DSEL, including lifting


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