Advertisement
Guest User

Untitled

a guest
Oct 9th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. module type Format = sig
  2. type t
  3. val to_int : t -> int
  4. end
  5.  
  6. module type Maker = functor (F : Format) -> sig
  7. type t
  8. val of_string : string -> t
  9. val of_format : t -> string
  10. val length : t -> int
  11. end
  12.  
  13. module FirstFormat =
  14. struct
  15. type t = string
  16. let to_int fmt = 2
  17. end
  18.  
  19. module SecondFormat =
  20. struct
  21. type t = string
  22. let to_int fmt = 1
  23. end
  24.  
  25. module Make (F : Format) : Maker = struct
  26. type t = F.t
  27. let of_string str = str
  28. let of_format fmt = fmt
  29. let length fmt = String.length (of_format fmt)
  30. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement