It's basically GHCi plus extra features. Those are:
- Find uses of an identifier in a module.
- Find definition of an identifier in a module.
- Show the type of an expression or identifier.
- List all types of all expressions of all modules loaded.
- Completion of identifiers within a module's scope.
Use stack build (not install) for each of your package sets. Each
LTS or nightly should have a separate stack build. If you use
stack install you will run into incompatibility issues
between package sets.
Standard:
$ stack build intero --copy-compiler-tool
The --copy-compiler-tool flag installs intero to a GHC-version-specific location that matches your current resolver. You won't have to install it again for the same GHC version, just new ones.
From source:
$ git clone https://github.com/commercialhaskell/intero.git
$ cd intero
$ stack build intero --copy-compiler-tool
If your project's stack.yaml has extra-deps that include upgraded versions of any of the packages that GHC depends on, then intero will not build there. Instead, build intero in a different directory:
$ pushd /tmp
$ stack --resolver lts-10.7 build --copy-compiler-tool intero
$ popd
To run it plainly use:
$ stack exec intero
You'll have to run stack build intero --copy-compiler-tool within each separate GHC
version you use, this ensures that the intero you launch correctly
matches the GHC version that you're working with.
To load up your stack project use:
$ stack ghci --with-ghc intero
Or
$ cabal repl --with-ghc intero