Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module type STACK =
- sig
- type element
- type stack
- val empty : stack
- val push : element -> stack -> stack
- val pop : stack -> element*stack
- val to_list : stack -> element list
- end
- module type IMP =
- sig
- type t
- end
- module ListStack(M : IMP) : STACK with type element = M.t =
- struct
- type element = M.t
- type stack = element list
- let empty = []
- let push x s = x :: s
- let pop (x :: xs) = (x, xs)
- let to_list s = s
- end
- module S = ListStack(
- struct
- type t = int
- end
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement