我想定义一个新的抽象数据类型,它是一个普通的数字或一个分区结构。我将如何在Haskell中做到这一点? 我的第一种方法是: data MyMath = MyNum Num
| Div MyMath MyMath
的问题是,编译器抱怨“民”,这是不是数据类型,但是一个类型的类。所以,我的第二个想法是要解决的问题是这样的: data MyMath = MyNum Int
我正在为分数编写一个简单的抽象数据类型,并且我甚至无法让构造函数工作,我只是在SML语法上迷失了方向。 signature fracs = sig
type fraction
exception zero_denominator
(* constructor *)
val // : int * int -> fraction
/**************************
我不是低级别非面向对象的编程语言的专家,我在写一些C代码在工作中的一个项目中间。我试图创建一些体面的抽象数据类型来工作,Google搜索让我意识到人们使用基于结构的ADT有两种方式。有些人将数据类型定义为结构: typedef struct adt {
//content here
} adt;
并将其暴露给头文件中的世界。 其他定义的数据类型作为指针到结构: // In .c f