[Haskell-cafe] [ANN] express-0.1.2: manipulate dynamically typed Haskell expressions
rudy at matela.com.br
Sun Aug 18 15:36:52 UTC 2019
I am happy to announce the [Express] library for Haskell.
Express allows manipulation of dynamically typed Haskell expressions. It
is similar to Data.Dynamic but with support for encoding applications and
variables. It provides an Expr type and over a hundred functions for
building, evaluating, comparing, folding, canonicalizing and matching
Exprs. [Express' Haddock documentation] is pretty comprehensive.
The project [README] has a few examples showing how to use Express to:
* create heterogeneous lists;
* list valid applications between expressions;
* generalize counterexamples;
* automatically generate test properties.
This library has its origins as an internal module of [Speculate] and
[Extrapolate], I am now releasing it separetely hoping that it could be
used for other purposes.
To install it, just:
$ cabal update
$ cabal install express
Then you're ready to use it:
> import Data.Express
> let true = val True
> :t true
true :: Expr
> print true
True :: Bool
> eval False true
[Express' Haddock documentation]: https://hackage.haskell.org/package/express/docs/Data-Express.html
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe