Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Checking for equality in lists in SML

Tags:

equality

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;

like image 227
user457142 Avatar asked Feb 26 '26 19:02

user457142


2 Answers

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);
like image 159
sepp2k Avatar answered Mar 02 '26 14:03

sepp2k


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
    
like image 27
wojtek Avatar answered Mar 02 '26 16:03

wojtek