11 lines
No EOL
304 B
Text
11 lines
No EOL
304 B
Text
type f<`a, `b> = { apply : `a -> `b }
|
|
|
|
fun : int -> int
|
|
f (x : int) = x + 1
|
|
|
|
let boxed_f : f<int, int> = { apply = f }<int, int>
|
|
|
|
fun : [`a, `b] f<`a, `b> * `a -> `b
|
|
apply_boxed_f ((boxed_f : f<`a, `b>), (a : `a)) = boxed_f.apply<`a, `b> (a)
|
|
|
|
let main : int = apply_boxed_f<int, int>(boxed_f, 42) |