2011-08-08 13 views
10

Hoogle'u yerel olarak kullanmak istiyorum, bu yüzden projelerimden birinde arama sorguları çalıştırabilirim. Bazı belgeler var [here], ama nasıl işe alacağımı anlayamıyorum. Haddock'u çalıştırdığını söylüyor, ancak mezgit balığı herhangi bir çıktı vermiyor, sadece aşağıda kopyalanmış uyarıları tükürüyor. Henüz bir projectname.cabal dosya yok, bu yüzden runhaskell Setup haddock --hoogle komutunu kullanamıyorum. Maalesefhoogle yerel olarak nasıl kullanılır (ctags gibi)?

haddock coverage for ./Util.hs:  0/8 0% 
haddock coverage for ./Blockify.hs: 0/16 0% 
haddock coverage for ./Interpreter.hs:  0/9 0% 
haddock coverage for AbstractSummarizer.hs: 0/10 0% 
Warning: Util: could not find link destinations for: 
    GHC.Base.String GHC.Types.IO GHC.ST.ST Data.StateRef.Types.HasRef GHC.Base.Monad Control.Applicative.Applicative GHC.Types.Int Control.Monad.Trans.State.Lazy.State GHC.Bool.Bool GHC.Types.Double GHC.Show.Show Data.Vector.Vector Data.Map.Map System.Process.Internals.CreateProcess 
Warning: Blockify: could not find link destinations for: 
    GHC.Types.Int GHC.Classes.Eq Data.Data.Data GHC.Classes.Ord GHC.Read.Read GHC.Show.Show Data.Typeable.Typeable GHC.Base.String Data.Typeable.Typeable1 GHC.Num.Num Control.Monad.Trans.State.Lazy.State 
Warning: Interpreter: could not find link destinations for: 
    Data.StateRef.Types.Ref GHC.Types.Int GHC.Classes.Eq Data.Data.Data GHC.Classes.Ord GHC.Read.Read GHC.Show.Show Data.Typeable.Typeable Data.Typeable.Typeable1 Control.Applicative.Applicative GHC.Base.Monad Data.Map.Map Data.Vector.Vector GHC.Base.Functor Data.Maybe.Maybe 
Warning: AbstractSummarizer: could not find link destinations for: 
    GHC.Types.Int GHC.Classes.Eq GHC.Show.Show Data.Sequence.Seq GHC.Classes.Ord GHC.Read.Read 
+3

Bir çözüm bulursanız, aşağıdan bir yanıt olarak ekleyin ve yanındaki yeşil onay işaretini tıklayın. – MatrixFrog

cevap

8

, benim hatam, çıktı main.txt oldu, ben bazen projemi temizlemek gerekir sanırım. Bu soru kullanışlı değilse silinebilir. çözüm:

PROJECTDIR> haddock --hoogle **/*.hs 
PROJECTDIR> mv main.txt PROJNAME.txt 
PROJECTDIR> hoogle convert PROJNAME.txt 
PROJECTDIR> cp PROJNAME.txt PROJNAME.hoo HOOGLEDB 
HOOGLEDB> hoogle combine -o default.hoo $(ls *.hoo | sed '/default/d') 

HOOGLEDB benim için ~/.cabal/share/hoogle-4.2.5/databases olduğunu. yalnızca bildirilen tip imzalara sahip işlevlerin veritabanına dahil edildiğini unutmayın.

şerefe. spam için üzgünüm.

+6

Spam hakkında endişelenme; kendi sorusunu cevaplamak teşvik edilir. Başkaları için yararlı olduğu için kendi cevabınızı kabul ettiğinizden emin olun. – acfoltzer

İlgili konular