Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class virtual foo (x: int) =
- object (s:'s)
- method get = x
- method virtual foo : int -> foo
- (* method virtual foo : int -> #foo *)
- end
- class bar = object
- inherit foo 0
- method foo x = (mkfoo 0 :> foo)
- end
- class baz = object
- inherit foo 1
- method foo x = (mkfoo 1 :> foo)
- end
- let mkfoo (x: int) =
- if x = 0
- then (new baz :> foo)
- else (new bar :> foo)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement