【发布时间】:2010-12-16 01:46:44
【问题描述】:
我正在阅读 Chris Okasaki 的纯函数式数据结构,我遇到了一个问题。它位于here。特别是,我不明白rotate 和exec 函数是如何工作的:
fun rotate($Nil, y::_, a) = $Cons (y, a)
| rotate ($Cons (x, xs), y :: ys, a) =
$Cons(x, rotate (xs, ys, $Cons (y, a)))
fun exec (f, r, $Cons (X, s)) = (f, r, s)
| exec (f, r, $Nil) = let val f' = rotate (f, r, $Nil) in (f', [], f') end
有人可以用愚蠢的人的话来形容吗?我仍在学习基于 ML 的语言。 :-)
【问题讨论】:
-
参见该书的第 4.1 节,了解
$符号的解释;冈崎解释说,这是他的懒惰暂停符号。
标签: ml persistent-data