26 lines
469 B
Text
26 lines
469 B
Text
structure List : LIST =
|
|
struct
|
|
|
|
val op + = InlineT.DfltInt.+
|
|
|
|
datatype list = datatype list
|
|
|
|
exception Empty = Empty
|
|
|
|
fun last [] = raise Empty
|
|
| last [x] = x
|
|
| last (_::r) = last r
|
|
|
|
fun loop ([], []) = EQUAL
|
|
| loop ([], _) = LESS
|
|
| loop (_, []) = GREATER
|
|
| loop (x :: xs, y :: ys) =
|
|
(case compare (x, y) of
|
|
EQUAL => loop (xs, ys)
|
|
| unequal => unequal)
|
|
in
|
|
loop
|
|
end
|
|
|
|
end (* structure List *)
|
|
|