Hello,
How to convert the following ocaml 3.12 code into a typable ocaml < 3.12 code?
I have a solution using Obj. Is it possible without Obj?
=====
(* val f: 'a -> 'a list *)
let f (type u) (x:u) =
let module S =
Set.Make(struct
type t = u
let compare = Pervasives.compare
let equal = ( = )
end)
in
S.elements (S.singleton x)
=====
The contraints are:
* do not change the type of f
* use the functor Set.Make where type of keys are the same that type of x
Thanks,
Julien