-
Notifications
You must be signed in to change notification settings - Fork 175
Library API Redesign
This is still completely open, we hope to have discussion over the next while and settle on something concrete.
See also Things-marginally-related for inspiration.
Please add your project here, with a direct edit or PR
- emacs haskell-mode
- atom ghc-mod-mode
- leksah leksah (considering integration options)
- IHaskell IHaskell (considering integration options/use case)
If you have been added in error, please let me know.
Right now ghc-mod, at the highest level, provides an entry point of the type (heavily simplified):
[Either FilePath ModuleName] -> (IORef HscEnv -> IO a) -> IO a
The first argument is the modules we want to be loaded in the compilation session, the second argument gets passed an HscEnv which contains all the state of a GHC compilation session and ghc-mod essentially just figures out how to get up the GHC compilation session.
All the internal commands are essentially just actions that run in this environment.