From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id AAA22653; Wed, 22 Oct 2003 00:39:22 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA18732 for ; Wed, 22 Oct 2003 00:39:21 +0200 (MET DST) Received: from aomori.annexia.org ([212.56.101.183]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h9LMdK102193 for ; Wed, 22 Oct 2003 00:39:20 +0200 (MET DST) Received: from rich by aomori.annexia.org with local (Exim 3.36 #1 (Debian)) id 1AC55c-0003As-00 for ; Tue, 21 Oct 2003 23:34:56 +0100 Date: Tue, 21 Oct 2003 23:34:56 +0100 To: caml-list@inria.fr Subject: Re: [Caml-list] OCaml wishlist Message-ID: <20031021223456.GA12195@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i From: Richard Jones X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 wishlist:01 inference:01 'just:01 upcast:01 superclass:01 superclass:01 mli:01 freshmeat:01 obstacle:01 vanier:01 ltd:98 ocaml:01 ocaml:01 0700,:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk [by accident, this didn't get sent to the list first time] On Tue, Oct 21, 2003 at 10:38:52AM -0700, David Brown wrote: > I'm curious what the argument for Ocaml objects being weaker is. For > the most part, the OCaml object system is much more flexible, mostly > because class inheritance and type inheritance are kept seperate. Are > you complaining that coersion has to be explicit, and that you can't > cast to a more specific type? Thanks for your answer David. In response to the above, I'd say that I've found OCaml objects to generally be OK, but sometimes they can be really infuriating! Examples: * Type inference doesn't work sometimes, so you need to add 'just the right' type declaration to an expression to get it to compile. * Upcasting - sometimes it works, sometimes it requires an explicit :> to upcast. Once or twice I've had a really strange error where I've needed to do some sort of double upcast-and-type-declaration, IIRC it was (obj :> superclass : superclass) * Polymorphic methods have a really odd & unintuitive syntax. * It seems like you need to use a separate MLI file to be able to define completely private (as opposed to just protected) methods, which isn't really documented well. Rich. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you. "One serious obstacle to the adoption of good programming languages is the notion that everything has to be sacrificed for speed. In computer languages as in life, speed kills." -- Mike Vanier ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners