2010-09-26 20 views
1

我与SML练习,我在做一个小任务,我们必须实现定义为Church数教堂的前身:如何获得数字

datatype 'a church = C of ('a -> 'a) * 'a -> 'a 

例如VAL

ZERO = C(fn (f,x) => x) 

我已经实现的功能:

create: int -> 'a church 
churchToInt: 'a church -> int 

SUC返回的继任者教会的数字。

现在我要实现该功能

PRED: 'a church -> 'a church * 'a church 

它返回(前身,当前标记)的元组。我不能使用churchToInt,我应该直接使用教会的数字。显然这可以通过传递一个特定的论证在一行中解决。

我正在考虑一遍又一遍地使用SUC,直到我们输入正确的数字,但没有办法让我比较2个教会的数字。我完全停留在此。

+0

如果这是家庭作业,你应该这样标记它 – 2010-09-26 23:11:56

回答

-2

你必须强迫它在你的subPred中使用int。