Sml 数据类型的未绑定类型构造函数

Sml 数据类型的未绑定类型构造函数,sml,smlnj,Sml,Smlnj,如果我已经初始化了一个int*int的数据类型dataype dd=DAT,我该如何为函数初始化该类型 该类型称为Cint,而不是CI,因此您必须在需要类型的地方使用Cint: fun cadd(a:Cint, b:Cint) = 或者,如果您想继续使用数据类型构造函数CI,则可以使用不同的语法,包括模式: fun cadd(a as CI _, b as CI _) = 您也可以在函数中直接进行模式匹配,而不是使用以下情况: datatype Cint = CI of int * int

如果我已经初始化了一个int*int的数据类型
dataype dd=DAT
,我该如何为函数初始化该类型

该类型称为
Cint
,而不是
CI
,因此您必须在需要类型的地方使用
Cint

fun cadd(a:Cint, b:Cint) =
或者,如果您想继续使用数据类型构造函数
CI
,则可以使用不同的语法,包括模式:

fun cadd(a as CI _, b as CI _) =

您也可以在函数中直接进行模式匹配,而不是使用以下情况:

datatype Cint = CI of int * int

fun get_first_val (CI (a, _)) = a
fun get_second_val (CI (_, b)) = b

fun cadd (CI (a1, b1), CI (a2, b2)) =
  CI (a1+a2, b1+b2)