Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (* count *)
- (* val count: 'a -> 'a list -> int *)
- let rec count x xs =
- match xs with
- | a::xs when a == x -> 1 + count x xs
- | _::xs -> 0 + count x xs
- | [] -> 0
- (* remove list duplicates *)
- (* val nub : 'a list -> 'a list *)
- let nub xs =
- let rec mem y ys =
- match ys with
- | a::bs when a == y -> true
- | a::bs -> mem y bs
- | _ -> false
- in
- let rec rem_dup res xs =
- match xs with
- | a::bs when (mem a res) -> rem_dup res bs
- | a::bs -> rem_dup (res@[a]) bs
- | [] -> res
- in
- rem_dup [] xs
- let cheat_nub xs =
- List.sort_uniq compare xs
- Sign up for free
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement