2

我想在标准 ML 中实现一个惰性树

datatype tr = N of int * unit->tr * unit->tr;

我试着用

fun form k = N(k,fn()=>form(k+1),fn()=>form(k+3));

作为概念测试,但我收到错误消息说类型不匹配。

在 ML 中实现惰性树的正确方法是什么?

4

1 回答 1

4
datatype tr = N of int * unit->tr * unit->tr;

这被解析为

datatype tr = N of (int * unit) -> ( (tr * unit) -> tr)

你要

datatype tr = N of int * (unit->tr) * (unit->tr)
于 2010-02-15T21:12:52.563 回答