equal
deleted
inserted
replaced
89 val length: 'a list -> int |
89 val length: 'a list -> int |
90 val take: int * 'a list -> 'a list |
90 val take: int * 'a list -> 'a list |
91 val drop: int * 'a list -> 'a list |
91 val drop: int * 'a list -> 'a list |
92 val dropwhile: ('a -> bool) -> 'a list -> 'a list |
92 val dropwhile: ('a -> bool) -> 'a list -> 'a list |
93 val nth_elem: int * 'a list -> 'a |
93 val nth_elem: int * 'a list -> 'a |
|
94 val map_nth_elem: int -> ('a -> 'a) -> 'a list -> 'a list |
94 val last_elem: 'a list -> 'a |
95 val last_elem: 'a list -> 'a |
95 val split_last: 'a list -> 'a list * 'a |
96 val split_last: 'a list -> 'a list * 'a |
96 val nth_update: 'a -> int * 'a list -> 'a list |
97 val nth_update: 'a -> int * 'a list -> 'a list |
97 val find_index: ('a -> bool) -> 'a list -> int |
98 val find_index: ('a -> bool) -> 'a list -> int |
98 val find_index_eq: ''a -> ''a list -> int |
99 val find_index_eq: ''a -> ''a list -> int |
506 fun nth_elem NL = |
507 fun nth_elem NL = |
507 (case drop NL of |
508 (case drop NL of |
508 [] => raise LIST "nth_elem" |
509 [] => raise LIST "nth_elem" |
509 | x :: _ => x); |
510 | x :: _ => x); |
510 |
511 |
|
512 fun map_nth_elem 0 f (x :: xs) = f x :: xs |
|
513 | map_nth_elem n f (x :: xs) = x :: map_nth_elem (n - 1) f xs |
|
514 | map_nth_elem _ _ [] = raise LIST "map_nth_elem"; |
|
515 |
511 (*last element of a list*) |
516 (*last element of a list*) |
512 fun last_elem [] = raise LIST "last_elem" |
517 fun last_elem [] = raise LIST "last_elem" |
513 | last_elem [x] = x |
518 | last_elem [x] = x |
514 | last_elem (_ :: xs) = last_elem xs; |
519 | last_elem (_ :: xs) = last_elem xs; |
515 |
520 |