首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell cabal:生成latex haddock文档

Haskell cabal:生成latex haddock文档
EN

Stack Overflow用户
提问于 2013-05-28 20:51:34
回答 1查看 690关注 0票数 3

我正在尝试通过cabal和haddock生成API文档。我想要的是乳胶。所以我这么做了:

代码语言:javascript
复制
cabal haddock --haddock-option=--latex

这最终会失败,原因是:

代码语言:javascript
复制
haddock: internal error: declaration not supported by declNames

有没有什么我能做的或者黑线鳕鱼有什么问题?

仅供参考,我必须使用cabal,因为构建过程相当复杂(有很多预处理器、ffi库等)。手动调用haddock真的很痛苦。

但是,构建HTML文档的工作完全符合预期。

完整的输出在http://pastebin.com/xt6rWqde上。

我正在使用:

代码语言:javascript
复制
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library 

The Glorious Glasgow Haskell Compilation System, version 7.4.2

Haddock version 2.11.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 21:37:11

代码语言:javascript
复制
declNames :: LHsDecl DocName -> [DocName]
declNames (L _ decl) = case decl of
  TyClD d  -> [unLoc $ tcdLName d]
  SigD (TypeSig lnames _) -> map unLoc lnames
  _ -> error "declaration not supported by declNames"

因此,LaTeX后端只支持类型类声明和类型签名,传递给declNames的所有其他内容都会生成"declaration not supported by declNames"错误。

代码语言:javascript
复制
ForD d                         -> ppFor summ links loc (mbDoc, fnArgsDoc) d unicode qual
InstD _                        -> noHtml

外部声明生成输出,实例声明不生成输出。不支持的声明导致

代码语言:javascript
复制
error "declaration not supported by ppDecl"

ppDecl (Haddock.Backends.Xhtml.Decl)中。

实例声明不会传递给LaTeX后端中的declNames,因此它们不会生成错误,但外部声明会(如果导出)。

因为你的模块是Foreign.Java.X的,所以我希望从某个模块导出一些外来的im- or导出,这就解释了这个错误。

似乎需要一个bug报告/功能请求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16792576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档