
Chris, this is amazing! One question - do you have support for tramping in and running ghci remotely (or would that be easy to add)? I primarily develop inside virtual-machines, so while the source code lives where emacs lives, all the libraries are installed inside the virtual-machine (and the source also lives there, of course). On Aug 30, 2011, at 4:46 AM, Christopher Done wrote:
Oh, I didn't reply all. Whoops.
On 28 August 2011 13:40, Christopher Done
wrote: On 27 August 2011 22:59, aditya siram
wrote: I would like for the GHCI interpreter to save its environment before reloading a file and allowed the user to revert back to that state if the compilation was unsuccessful.
Many times I've changed files, loaded them, hit a compilation error and needed, for example, the inferred type signature of some function. Even though that function hasn't been changed I have to either fix my code, undo a bunch of changes or comment out the last change I made and reload in order to do a ":type" on the function. This really breaks the flow of development.
This has been bugging me for a long time and it's been on my TODO list for haskell-emacs: https://github.com/chrisdone/haskell-emacs
I just implemented it. http://i.imgur.com/A71T5.png
I just run two ghci processes, one for compiling, one for merely loading the code in when the former succeeds.
It's not a very pleasant hack but in conjunction with :set -fobject-code it is fast and does not consume that much more memory. Considering tibbe's report is 4 years old, I think this solution is better than nothing.
Set hs-config-preliminary-load-file to t in hs-config.el and it will do a preliminary load in a separate GHCi process.