Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. type t = NSString | NSMutableString | NSMutableArray
  2.  
  3. module type Sig = sig
  4. val nstype : t
  5. end
  6.  
  7. (* module type NSObject = sig *)
  8. (* type t *)
  9. (* val init : unit -> t *)
  10. (* val description : t -> string *)
  11. (* end *)
  12.  
  13. module Make (C : Sig) = struct
  14. type t
  15. let init () = create_object C.nstype
  16. let description p = call_method p "description" [||] |> string_of_nsstring
  17. include C
  18. end
  19.  
  20. module NSString = Make(struct
  21. let nstype = NSString
  22. end)
  23.  
  24. module NSMutableString = Make(struct
  25. let nstype = NSMutableString
  26. let set_string (p : t) (s : NSString.t) =
  27. call_method p "setString:" [|s|] |> ignore
  28.  
  29. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement