ocaml - Having trouble creating arbitrary new Object, parametrized for function call -


i wanted kind of expression in ocaml

let wrapper obj f = fun raw -> f (new obj raw) 

but compiler error of unbound class obj what, why isn't compiler satisfied creating function says call function on object happens take 1 init arg.

pass function constructs object. one-argument class foo can use new foo function.

let wrapper make_obj f raw = f (make_obj raw)  class foo (x) = object   method y = x + 1 end  let answer = wrapper (new foo) (fun o -> o#y) 2 

here, wrapper has general type doesn't mention objects @ all. if want make clear object constructor expected argument, can restrict type annotation:

let wrapper (make_obj: (_ -> < .. >)) f raw = f (make_obj raw) 

Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -