From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id VAA26643 for caml-redistribution; Wed, 15 May 1996 21:14:51 +0200 Received: (from remy@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id TAA25279; Wed, 15 May 1996 19:13:46 +0200 Message-Id: <199605151713.TAA25279@pauillac.inria.fr> Subject: Re: Objective Caml 1.00 To: monin@lannion.cnet.fr (Jean-fr MONIN - FT.CNET/LAA/EIA/EVP) Date: Wed, 15 May 1996 19:13:46 +0200 (MET DST) Cc: caml-list@pauillac.inria.fr In-Reply-To: <9605100813.AA11357@lsun169> from "Jean-fr MONIN - FT.CNET/LAA/EIA/EVP" at May 10, 96 10:13:29 am From: Didier.Remy@inria.fr (Didier Remy) Reply-to: Didier.Remy@inria.fr Organization: INRIA, BP 105, F-78153 Le Chesnay Cedex Phone: (33) 1 3963 5317 -- Sec: (33) 1 3963 5684 -- Fax: (33) 1 3963 5330 Web: http://pauillac.inria.fr/~remy MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: weis > 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.