重现git clone https://github.com/ndmitchell/hoogle和stack repl
:
λ > :l src/Hoogle.hs
[ 1 of 27] Compiling Input.Settings ( src/Input/Settings.hs, interpreted )
src/Input/Settings.hs:17:1: error:
Failed to load interface for ‘Paths_hoogle’
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
这似乎是由Paths_hoogle
作为隐藏模块引起的,但我不知道解决方案是什么让src/Hoogle.hs
加载。
答案 0 :(得分:2)
hoogle
项目没有stack.yaml
,因此stack
无法识别它在项目中。 stack repl
和stack ghci
将在隐式全球项目中打开GHCi环境。
stack
检查当前目录中的.cabal
文件是否明智,并警告它是否在stack
项目中。
我可以通过执行stack init
来生成初始stack.yaml
文件来加载库。然后stack repl
和stack ghci
都运行良好,加载了暴露的和隐藏模块。
答案 1 :(得分:1)
解决方案是使用以下方式运行GHCI repl:
cabal repl lib:hoogle
这会自动加载Hoogle模块:
Ok, modules loaded: Action.CmdLine, Action.Generate, Action.Search, Action.Server, Action.Test, General.Conduit, General.IString, General.Log, General.Store, General.Str, General.Template, General.Timing, General.Util, General.Web, Hoogle, Input.Cabal, Input.Download, Input.Haddock, Input.Item, Input.Reorder, Input.Set, Input.Settings, Output.Items, Output.Names, Output.Tags, Output.Types, Paths_hoogle, Query.
λ > defaultDatabaseLocation
"/home/neo/.hoogle/default-haskell-5.0.13.hoo"