ghciwatch
Ghciwatch loads a GHCi session for a Haskell project and reloads it
when source files change.
Features
- GHCi output is displayed to the user as soon as it's printed.
- Ghciwatch can handle new modules, removed modules, or moved modules without a
hitch
- A variety of lifecycle
hooks
let you run Haskell code or shell commands on a variety of events.
- Custom
globs
can be supplied to reload or restart the GHCi session when non-Haskell files
(like templates or database schema definitions) change.
- Ghciwatch can clear the screen between reloads.
- Compilation errors can be written to a file with
--error-file
,
for compatibility with ghcid's --outputfile
option.
- Comments starting with
-- $>
can be
evaluated
in GHCi.
- Eval comments have access to the top-level bindings of the module they're
defined in, including unexported bindings.
- Multi-line eval comments are supported with
{- $> ... <$ -}
.
Demo
Check out a quick demo to see how ghciwatch feels in practice:
Learn More
Read the manual here.
Developing ghciwatch
See CONTRIBUTING.md
for information on hacking
ghciwatch.