トップページ > プログラム > 2015年08月30日 > U2/m8tQL

書き込み順位&時間帯一覧

10 位/131 ID中時間01234567891011121314151617181920212223Total
書き込み数1010000000010100000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
405
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
402 :デフォルトの名無しさん[sage]:2015/08/30(日) 00:01:23.79 ID:U2/m8tQL
ひょっとして、コメントアウトを外してない、なんてことはないかい?

-- html-location:

html-location: hoge
にしないといけないよ。
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
405 :デフォルトの名無しさん[sage]:2015/08/30(日) 02:57:07.12 ID:U2/m8tQL
>>404
以前似たような質問をしてた方と同じ人ですか? 
前回ともども、ろくすっぽ調べもせずテキトウに答えちゃってごめん。

いろいろ試してみたんだけど、どうやら無理っぽい。
html-locationはその時にインストールしたパッケージの内部のドキュメントのリンク先を変えるものらしい。
haddockにある別のオプションを変えることで、ドキュメント右上のContentsや、Indexの参照先を変えることはできた。
でも、ご所望の、パッケージが依存している別のパッケージのドキュメントへのリンクは、書き換えられないみたいだ。

すべてのパッケージのドキュメント位置の情報は、ghc-pkg が握ってる。

$ ghc-pkg field '*' haddock-html
...
haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/array-0.5.1.0
haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/base-4.8.1.0
haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0
haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/binary-0.7.5.0
...

これらの情報を参照して、haddockはパッケージのリンク先を書くんだと思う。
だから、やりたいことを実現するには、そもそもの依存パッケージの位置を変えるしかない。
(cabalを通して呼ばれるhaddockにだけその情報を渡す方法があるのかもしれないが、俺の調査ではわからなかった。
cabal installへのフラグ--haddock-option=--optghc=-package-db=hoge/.../package.conf.dなどを試したけど何も変わらず)
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
407 :405[sage]:2015/08/30(日) 11:56:14.08 ID:U2/m8tQL
ああ、もし、sandbox使ってるんだったら、

$ ghc-pkg field '*' haddock-html
ではなく、
$ cabal sandbox hc-pkg field '*' haddock-html
を呼んでください。

あと、405の時点では「haddockがghc-pkgを内部で呼ぶ」と思ってたんだけど、実は「cabal が haddock に依存先パッケージのドキュメントの位置を渡す」ということがわかった。
cabal install に --verbose=3 を渡して、haddockに渡っているオプションを見て気づいた。
cabal の --package-db オプションの値が、haddockへ --read-interface オプションとして渡されるらしい(ただし、sandboxにいるときは cabal install に直接package-dbを指示しても無視されるみたい)。
関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
409 :デフォルトの名無しさん[sage]:2015/08/30(日) 13:07:09.40 ID:U2/m8tQL
おめでとう。
haddockのバグだったのか(cabalではなく)。
haskellのツール周りは色々混み合っててよくわかんないなあ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。