Equality 在SML中检查列表中的相等性

Equality 在SML中检查列表中的相等性,equality,sml,Equality,Sml,我想写一个函数来检查SML中列表的相等性 例如: [1,2,3]=[1,2,3]; val it=true:bool 因此,我不想写下全部内容,而是想创建一个函数,它接受两个预定义的列表,并对它们进行比较,这样如果list01=[1,2,3]和list09=[1,2,3] 然后,乐趣相等(列表01、列表09);将返回-val it=true:bool Thanx提前获取任何想法/提示和帮助:)这是一个未检查的示例: fun compare ([], []) = true # both empty

我想写一个函数来检查SML中列表的相等性 例如: [1,2,3]=[1,2,3]; val it=true:bool

因此,我不想写下全部内容,而是想创建一个函数,它接受两个预定义的列表,并对它们进行比较,这样如果list01=[1,2,3]和list09=[1,2,3] 然后,乐趣相等(列表01、列表09);将返回-val it=true:bool


Thanx提前获取任何想法/提示和帮助:)

这是一个未检查的示例:

fun compare ([], []) = true # both empty
    |   compare (x::xs, y::ys) = (x = y) and compare(xs,ys)
    |   compare (_, _) = false # different lengths

您似乎知道
=
在列表上起作用,所以(正如我在评论中已经说过的那样)我不明白为什么需要定义
equal
函数

也就是说,你可以写:

fun equal (a, b) = (a = b);

你说的“写下整件事”是什么意思?写
equal(list01,list09)
实际上比写
list01=list09
要长,那么你想避免写的“全部”是什么呢?我认为创建函数比较([list01,list09])会更容易;而不是手动比较这两个列表,如果它们非常有用的话!长的