
On 26/04/15 19:38, Andrew Gibiansky wrote:
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?
This certainly counts as a long-term goal for Exference. As it stands, there are two issues: a) ideally, Exference would take into account all locally defined (or even all visible) functions. This is problematic, as one generally has to be careful adding too many / the wrong functions to the environment because it can blow up the search space. There might be some heuristics to determine what can safely be added; alternatively the user could selectively add functions. b) performance in general is not as good as i would like, both memory and run-time. (to give you an idea: running my test-cases needs something in the range of 3GB memory, the default even is at -M4G.) There certainly is room for optimizations; also i have not really tested what types of queries can be solved when you give tight limits to memory/run-time. Lennart