【发布时间】:2012-04-03 02:25:03
【问题描述】:
我正在为分数和 我什至无法让构造函数工作,我只是对 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*)
【问题讨论】:
标签: sml ml abstract-data-type