【发布时间】:2017-10-16 22:51:52
【问题描述】:
我正在编写自己的 haskell 数据类型来解决整数求和运算,但我不知道如何制作语义。
data Expr = Value Int
| Sum Expr Expr
我想这样做:
sum:: Expr -> Expr -> Int
sum a b = b + a
val:: Int -> Int
val a = a
我想这样写:
Sum (Value 3) (Value 5)
然后得到 8 作为回报,有什么想法吗?
【问题讨论】:
-
你尝试的时候发生了什么?
-
Sum (Value 3) (Value 5)将总是,根据定义,是Expr类型的不同值;你不能把它减少到8,因为8不是Expr的构造函数。
标签: haskell