The free-theorems package

[Tags: library, public-domain]

The free-theorems library allows to automatically generate free theorems from Haskell type expressions. It supports nearly all Haskell 98 types except of type constructor classes, and in addition it can also handle higher-rank functions. Free theorems are generated for three different sublanguages of Haskell, a basic one corresponding to the polymorphic lambda-calculus of Girard-Reynolds, an extension of that allowing for recursion and errors, and finally a sublanguage additionally allowing seq. In the last two sublanguages, also inequational free theorems may be derived in addition to classical equational results.


[Skip to ReadMe]

Properties

Versions0.2, 0.2.1, 0.3, 0.3.1, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.2.0
Change logNone available
Dependenciesbase (>=1.0), containers (>=0.1.0.1), haskell-src (>=1.0), haskell-src-exts (>=0.3.9), mtl (>=1.0), pretty (>=1.0.0.0) [details]
LicensePublicDomain
AuthorSascha Boehme
Maintainervoigt@tcs.inf.tu-dresden.de
CategoryLanguage
UploadedMon Mar 2 09:22:03 UTC 2009 by JanisVoigtlaender
DistributionsNixOS:0.3.2.0
Downloads1261 total (54 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-05-28 [all 2 reports]

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for free-theorems-0.3.1

  DESCRIPTION

This library may be used to automatically generate free theorems
[1,2] from Haskell type signatures. It supports Haskell 98 and 
additionally higher-rank functions. Beside primitive Haskell types
(Int, Integer, Float, Double, Char), it already includes lists and
tuples. The library provides means to add other data types.



  DEPENDENCIES

See the file `free-theorems.cabal' for dependencies. Note that there,
two parser libraries are listed. If only one is needed, the library
is easily adjustable by commenting out the corresponding dependencies
and exported modules.


  
  INSTALL

Since this library is cabalised, it uses the standard installation
process.
  
  runhaskell Setup.lhs configure
  runhaskell Setup.lhs build
  runhaskell Setup.lhs install



  USAGE

See the Haddock-generated documentation for detailed information on
how to use this library.



  DOCUMENTATION

If Haddock is available, documentation may be 
generated automatically from the sources.
  
  runhaskell Setup.lhs haddock



-------

[1] Philip Wadler, Theorems for free!, In Functional Programming
    Languages and Computer Architecture, Proceedings, 1989.

[2] Patricia Johann and Janis Voigtländer, The Impact of seq on Free
    Theorems-Based Program Transformations, In Fundamenta 
    Informaticae, 2006.