【发布时间】:2012-12-13 19:10:47
【问题描述】:
我的问题是参考this post,具体来说:
data Actions a = Actions {
actEval :: a,
actMap :: (a -> a) -> Actions a }
我对@987654323@ 函数的递归定义感到困惑,因为它递归地返回对Actions 的引用,即递归的基本情况是什么,因为没有为a 指定类型?
Actions 结构在 Common Lisp 中如何表示?
编辑:另外,Actions 构造函数接受 2 个参数(如原帖中所述)。那么Actions a 是什么,由actMap 返回??
【问题讨论】:
-
“因为没有为
a指定类型”是什么意思? Haskell 是惰性求值的,因此您可以使用没有“基本情况”的递归结构,例如data Infinite = Next Infinte -
您似乎将类型声明与该类型的数据混淆了,这使得您很难说出您想要的问题是什么。
标签: haskell functional-programming common-lisp