Could this somehow be used with the GHC API, so that it could be embedded as autocomplete in an interpreter / code editor?

I am imagining using this with GHC 7.10 Type Holes in IHaskell. To autocomplete, you'd insert a hole ("_"), GHC would be able to tell you the type of the hole, you'd be able to pass it to exference, and then your autocomplete suggestions would be full expressions. Does this sound plausible?

Sounds like a very cool tool!
Andrew

On Sun, Apr 26, 2015 at 9:08 AM, lennart spitzner <lsp@informatik.uni-kiel.de> wrote:
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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe