gpt4 book ai didi

haskell - 在 haskell 中使用 cheapskate 无法识别类型别名

转载 作者:行者123 更新时间:2023-12-02 03:33:36 25 4
gpt4 key购买 nike

总结:

我正在使用 Cheapskate由 Pandoc 的作者 John MacFarlane 创建的库,用于 markdown 解析。我遇到了一个我无法解决的类型问题。基本上我正在尝试为代码块生成 html。我最终希望 renderBlocks def blocks 进行类型检查。我无法让 block 成为 Blocks

类型

在源代码中,类型 BlocksSeq Block 的别名,但我的错误消息说它们是不同的。我试过在整个过程中放置​​过多的类型注释,但没有成功。如果我指定的类型是 Blocks 而不是 Seq Block,我会收到一个错误,将 Blocks 指定为 Seq a0

这是我的 project供引用。

错误信息:

Couldn't match expected type `Blocks' with actual type `Seq Block'
In the second argument of `renderBlocks', namely `blocks'
In the expression: renderBlocks Cheapskate.def blocks
In the expression:
let
t = T.concat $ map partToText parts
attr
= CodeAttr {codeLang = (T.pack "haskell"), codeInfo = T.empty} ::
CodeAttr
block = CodeBlock attr t
....
in renderBlocks Cheapskate.def blocks

代码:

chunkToHtml :: Chunk -> Markup
chunkToHtml chunk =
case chunk of
Prose str -> toMarkup $ markdown Cheapskate.def (T.pack str)
Def _ _ parts ->
let
t = T.concat $ map partToText parts
attr = CodeAttr { codeLang=(T.pack "haskell"), codeInfo=T.empty} :: CodeAttr
block = CodeBlock attr t
blocks = (singleton block) :: Seq Block
in
renderBlocks Cheapskate.def blocks

最佳答案

解决方案是恢复到从 (0.5.5.1) 到 (0.4.2.1) 的旧容器包。

关于haskell - 在 haskell 中使用 cheapskate 无法识别类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com