4

Haddockを使い始めたいと思います。主な理由は、私が今書いているものについて、私が(または他の誰かが)素晴らしいHTMLドキュメントを必要としているということではなく、Haskellモジュールにコメントする標準化された方法を教えてくれるからです。そのため、手を汚したいのですが、かなり基本的な問題にぶつかりました。

ソース:

module Main where
-- |This is the main function.
main = putStrLn "Hello World!"

Haddockの呼び出し:

> haddock -h test.hs 
Haddock coverage:
  50% (  1 /  2) in 'Main'
Warning: Main: could not find link destinations for:
    GHC.Types.IO

Haddockは標準ライブラリを探す場所を知らないようですが、それは単なる推測です。ドキュメントは「-B」パラメータについて何かを述べていますが、実際にはそれについて多くを説明していません。

私はオンラインで問題を検索しましたが、基本的に「Cabalパッケージを使用すればすべてがあなたに代わって実行されます」と答えられました。ただし、今はCabalを扱いたくないので、Haddockを単独で学習します(Cabalは待つことができます)。問題に対する素晴らしくて簡単な(っぽい)解決策はありますか?

4

1 に答える 1

5

コメントの知恵をあなたの質問にエコーし、Cabalを使用してくださいと言います。それは学ぶための余分なことではありません、それはあなたのためにこれらすべての退屈な詳細を処理するので、代わりに学ぶべきものです。他の誰もがそれを使用しているので、とにかくそれについて知る必要があるでしょう、それであなたはその知識の恩恵を受けるほうがよいでしょう。

完全を期すために、私は自分のプロジェクトの1つを実行しました。これは、それが使用しcabal haddock -vたプロジェクトの呼び出しです。haddock

/usr/local/bin/haddock --prologue=dist/doc/html/notcpp/haddock-prolog1566.txt --dump-interface=dist/doc/html/notcpp/notcpp.haddock --optghc=-package-name --optghc=notcpp-0.2.0.2 --hide=NotCPP.Utils --verbosity=1 --html --read-interface=/usr/local/share/doc/ghc/html/libraries/array-0.4.0.1,/usr/local/share/doc/ghc/html/libraries/array-0.4.0.1/array.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/base-4.6.0.0,/usr/local/share/doc/ghc/html/libraries/base-4.6.0.0/base.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/containers-0.5.0.0,/usr/local/share/doc/ghc/html/libraries/containers-0.5.0.0/containers.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/deepseq-1.3.0.1,/usr/local/share/doc/ghc/html/libraries/deepseq-1.3.0.1/deepseq.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/ghc-prim-0.3.0.0,/usr/local/share/doc/ghc/html/libraries/ghc-prim-0.3.0.0/ghc-prim.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/integer-gmp-0.5.0.0,/usr/local/share/doc/ghc/html/libraries/integer-gmp-0.5.0.0/integer-gmp.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/pretty-1.1.1.0,/usr/local/share/doc/ghc/html/libraries/pretty-1.1.1.0/pretty.haddock --read-interface=/usr/local/share/doc/ghc/html/libraries/template-haskell-2.8.0.0,/usr/local/share/doc/ghc/html/libraries/template-haskell-2.8.0.0/template-haskell.haddock --odir=dist/doc/html/notcpp/ --title=notcpp-0.2.0.2: Avoiding the C preprocessor via cunning use of Template Haskell --optghc=-fbuilding-cabal-package --optghc=-O --optghc=-odir --optghc=dist/build/tmp-1566 --optghc=-hidir --optghc=dist/build/tmp-1566 --optghc=-stubdir --optghc=dist/build/tmp-1566 --optghc=-i --optghc=-idist/build --optghc=-i. --optghc=-idist/build/autogen --optghc=-Idist/build/autogen --optghc=-Idist/build --optghc=-optP-include --optghc=-optPdist/build/autogen/cabal_macros.h --optghc=-hide-all-packages --optghc=-package-id --optghc=base-4.6.0.0-eac4fa0d0988628e5bd960fef8805b26 --optghc=-package-id --optghc=template-haskell-2.8.0.0-102a52a4fda28374255d0a3a8e99f26c --optghc=-XHaskell98 --optghc=-XTemplateHaskell --optghc=-W -B/usr/local/lib/ghc-7.6.1 dist/build/tmp-1566/NotCPP/ScopeLookup.hs dist/build/tmp-1566/NotCPP/LookupValueName.hs dist/build/tmp-1566/NotCPP/OrphanEvasion.hs dist/build/tmp-1566/NotCPP/Utils.hs

さて、その多くはオプションであると確信していますが、どのビットがどのビットで、どのビットがそうでないかを理解するために時間を費やすつもりはありません。

于 2012-12-17T12:31:05.807 に答える