> What about the size of the semantics of ocaml ?
Keeping the langage close to Caml has been an important matter in the design
of Objective Caml. Of course, the language is bigger, and unavoidably, its
semanctics is more complicated. We have tried to put into the language the
essential OO-features only, so that the semantics of the language does not
get out of control.
In fact, the core object extension that does not include overriding of
instance variables nor the ability to bind super has a very
simple semantics. Adding those two features, makes the semantics a little
more complicated but not more difficult.
Type inference for Objective Caml is still based on ML polymorphism and first
order unification. Recursive types have been added too, but this is quite
standard. Type coercions are explicit and do not interfere with type
inference; they are based on subtyping without asumptions. This is much
simpler than type inference with type constraints (it is weaker too).
-Didier.