[Haskell-cafe] ANN: exference: a different djinn

lennart spitzner lsp at informatik.uni-kiel.de
Sun Apr 26 16:08:32 UTC 2015


Hello folks,

Exference[1] is a Haskell tool for generating expressions from a type,
e.g.

Input: (Show b) => (a -> b) -> [a] -> [String]

Output: \ b -> fmap (\ g -> show (b g))

In contrast to Djinn, the well known tool with the same general
purpose, Exference supports a larger subset of the haskell type system
- most prominently type classes. (Djinn's environment many contain
type classes, but using them in queries will not really work.) This
comes at a cost, however: Exference makes no promise regarding
termination. Where Djinn tells you "there are no solutions", Exference
will keep trying, sometimes aborting a non-ending search with "i could
not find any solutions".

See [2] for a report about the implementation, capabilities and
limitations.

[1] https://github.com/lspitzner/exference
[2] https://github.com/lspitzner/exference/raw/master/exference.pdf

Lennart


More information about the Haskell-Cafe mailing list