user457142
user457142

Reputation: 267

Checking for equality in lists in SML

i want to write a function that checks for equality of lists in SML for instance :

[1,2,3]=[1,2,3];
val it = true : bool

So instead of writing down the whole thing, i want to make a function that takes two predefined lists, and compare them, so that if list01 is [1,2,3] and list09 is [1,2,3] then fun equal (list01, list09); will return -val it = true : bool;

Upvotes: 2

Views: 11704

Answers (2)

wojtek
wojtek

Reputation: 26

Here is a not checked sample:

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

Upvotes: 1

sepp2k
sepp2k

Reputation: 370397

You seem to be aware that = works on lists, so (as I already said in my comment) I don't see why you need to define an equal function.

That being said, you can just write:

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

Upvotes: 8

Related Questions