【发布时间】:2010-09-24 01:19:37
【问题描述】:
我有一个任务,我需要使用以下数据类型在 SML 中实现教堂数字:datatype 'a Church = C of ('a -'a) * 'a -> 'a
我必须编写函数 create :int -> 'a Church 和函数 ChurchToint 到目前为止,我有以下代码:
datatype 'a church = C of ('a -> 'a) * 'a -> 'a
val ZERO = C(fn (f,x) => x)
fun subCreate 0 (f,x) = x
| subCreate n (f,x) = f (subCreate (n-1) (f,x))
fun create n = C(fn (f,x) => subCreate n (f,x));
fun churchToInt cn = cn (fn x => x + 1) 0;
我知道我已经很接近了。您能帮我正确实施吗?谢谢
【问题讨论】:
标签: sml