Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Introducing the `stack hoogle` feature!
- With the release of hoogle5, we can now hoogle all packages referenced
- by our packages in our `stack.yaml`. This feature is on the master
- branch of stack, but is not yet on a stack release. We'd like you to
- try it out before we do!
- To upgrade to the latest stack from git, use:
- $ stack upgrade --git
- Now, in any stack project, run:
- $ stack hoogle map
- After a bunch of setup work (see below), you'll get something like
- bash-3.2$ stack hoogle map
- map :: (a -> b) -> [a] -> [b]
- map :: (Word8 -> Word8) -> ByteString -> ByteString
- [..]
- Pass `-i` to show documentation:
- bash-3.2$ stack hoogle -- -i map
- map :: (a -> b) -> [a] -> [b]
- base Prelude
- map f xs is the list obtained by applying f
- to each element of xs, i.e.,
- map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
- map f [x1, x2, ...] == [f x1, f x2, ...]
- Each project has its own installation of hoogle:
- bash-3.2$ stack exec which hoogle
- /Users/chris/Work/hs-popen/.stack-work/install/x86_64-osx/lts-5.3/7.10.3/bin/hoogle
- Unless you install it globally, in which case it'll use the one in
- your PATH if it's >=5.0. So if you get sick of it installing copies of
- hoogle, do `stack install hoogle-5.0`.
- Please give it a try!
- ---
- Hoogle5 is probably not installed on your system, so you'll see this
- message:
- > Hoogle isn't installed or is too old. Automatically installing (use --no-setup to disable) ...
- > Minimum version is hoogle-5.0. Found acceptable hoogle-5.0 in your index, installing it.
- After installing Hoogle5 it'll say:
- > No Hoogle database yet. Automatically building haddocks and hoogle
- > database (use --no-setup to disable) ...
- Then it'll run `stack haddock` and then `stack hoogle -- generate
- --local`.
- If you see a message like
- > Packages not found: abstract-par aeson aeson-compat [..]
- Don't worry about it; stack only generates haddocks for the things
- you're using in your project, whereas hoogle is looking at everything
- in the snapshot database.
- Relatedly, if you add a dependency to your project, run `stack hoogle
- --rebuild`, and that'll generate the haddocks and the hoogle database
- again.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement