1
我正在为分数编写一个简单的抽象数据类型,并且我甚至无法让构造函数工作,我只是在SML语法上迷失了方向。SML:创建抽象数据类型
signature fracs = sig
type fraction
exception zero_denominator
(* constructor *)
val // : int * int -> fraction
/*******************************************************************************************************************************************/
这是.sig文件,显示我正在实施的构造函数。 这是我到目前为止。我收到的错误是,我在做int * int * - > int 当我想int * int->分数。我知道它的说法和一切,但我无法做到这一点。
structure fracs :> fracs = struct
abstype fraction = frac of int * int
with
exception zero_denominator;
(**********************************)
(*constructor*)
infix 8 //;
fun num // den = if den = 0 then raise zero_denominator
else
num * den;
end;(*end ADT*)
end;(*end struct*)
哦!我明白了,非常感谢! – user1309382 2012-04-03 16:22:18