equal
deleted
inserted
replaced
67 exception LIST of string |
67 exception LIST of string |
68 val null: 'a list -> bool |
68 val null: 'a list -> bool |
69 val hd: 'a list -> 'a |
69 val hd: 'a list -> 'a |
70 val tl: 'a list -> 'a list |
70 val tl: 'a list -> 'a list |
71 val cons: 'a -> 'a list -> 'a list |
71 val cons: 'a -> 'a list -> 'a list |
|
72 val append: 'a list -> 'a list -> 'a list |
72 val foldl: ('a * 'b -> 'a) -> 'a * 'b list -> 'a |
73 val foldl: ('a * 'b -> 'a) -> 'a * 'b list -> 'a |
73 val foldr: ('a * 'b -> 'b) -> 'a list * 'b -> 'b |
74 val foldr: ('a * 'b -> 'b) -> 'a list * 'b -> 'b |
74 val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a |
75 val foldr1: ('a * 'a -> 'a) -> 'a list -> 'a |
75 val length: 'a list -> int |
76 val length: 'a list -> int |
76 val take: int * 'a list -> 'a list |
77 val take: int * 'a list -> 'a list |
380 fun tl [] = raise LIST "tl" |
381 fun tl [] = raise LIST "tl" |
381 | tl (_ :: xs) = xs; |
382 | tl (_ :: xs) = xs; |
382 |
383 |
383 fun cons x xs = x :: xs; |
384 fun cons x xs = x :: xs; |
384 |
385 |
|
386 fun append xs ys = xs @ ys; |
|
387 |
385 |
388 |
386 (* fold *) |
389 (* fold *) |
387 |
390 |
388 (*the following versions of fold are designed to fit nicely with infixes*) |
391 (*the following versions of fold are designed to fit nicely with infixes*) |
389 |
392 |