繁体   English   中英

Elm - 使用列表折叠递归类型无法编译

[英]Elm - fold on recursive type with list does not compile

我正在关注这篇<\/a>关于 catamorphism 的文章,我正在尝试为这样的递归数据类型定义折叠函数

type Node anyType
    = Leaf Id (Maybe anyType)
    | Tree Id (List (Node anyType))

您已将参数翻转到List.foldl<\/code> 。 fold 函数首先获取值,然后是累加器,而您的recurse<\/code>函数首先获取累加器,然后是值。

对此的简单解决方法是扩展递归函数并在将其传递给foldTree<\/code>时翻转参数:

recurse v a = foldTree fLeaf fTree a v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM