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 QAA25029; Mon, 28 Jul 2003 16:39:31 +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 QAA16766 for ; Mon, 28 Jul 2003 16:39:29 +0200 (MET DST) Received: from draco.services.brown.edu (draco.services.brown.edu [128.148.19.208]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h6SEdSf25963 for ; Mon, 28 Jul 2003 16:39:29 +0200 (MET DST) Received: from localhost.localdomain (anquetil.cs.brown.edu [128.148.33.148]) by draco.services.brown.edu (Switch-3.1.0/Switch-3.1.0/) with ESMTP id h6SEdQqX021731; Mon, 28 Jul 2003 10:39:26 -0400 (EDT) Subject: Re: [Caml-list] Roadplan for world domination From: Guillaume Marceau To: Warren Harris Cc: caml-list@inria.fr In-Reply-To: <3F22E136.4080206@pacbell.net> References: <20030718212114.GA31599@pyramid.twistedmatrix.com> <3F22E136.4080206@pacbell.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Mailer: Ximian Evolution 1.0.5 Date: 28 Jul 2003 10:39:21 -0400 Message-Id: <1059403166.28796.26.camel@anquetil> Mime-Version: 1.0 X-Brown-MailScanner-Information: Please contact Brown Postmaster@brown.edu for more information X-Brown-MailScanner: Found to be clean X-Brown-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (score=-4.7, required 5, EMAIL_ATTRIBUTION, IN_REP_TO, MIME_LONG_LINE_QP, QUOTED_EMAIL_TEXT, REFERENCES, REPLY_WITH_QUOTES, USER_AGENT_XIMIAN) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; guillaume:01 caml-list:01 harris:01 incompatible:01 drscheme:01 ideally:01 dromedary:01 caml-like:01 dialect:01 matthias:01 thiemann:01 universit:01 uni-freiburg:01 03.:99 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, 2003-07-26 at 16:14, Warren Harris wrote: > (f) Type-checker error messages. When something fails to type check=20 > in ocaml, the error messages can be uninformative or confusing. Often=20 > times the source of a type constraint is far removed from the location=20 > where the problem is reported. Showing the source of the constraint=20 > would be very helpful. Also, often times the type conflict that's=20 > reported fails to narrow down the conflict sufficiently. It would be=20 > very helpful if the expected and actual type expressions were unified in=20 > some way to pinpoint the exact discrepancy. Myself and a handful of other researcher are working on this problem. As you said, the two incompatible type constraints are often far removed to one another. In fact, most of the times, the mistake is somewhere in between, along the statements that connect the two constraints together. I have a prototype solution for a toy version of ocaml which is embedded in the Drscheme environment. My code takes an error involving a large amount of code and break it down into small layer. Ideally, each layer in each layer is small enough that you can be understand it by itself. Once I am done building the prototype, I intent to port it to David Goldber's Dromedary, "A CAML-like dialect of ML that works in the DrScheme environment." and then to ocaml. http://www.cs.utah.edu/~goldberg/ Matthias Neubauer and Peter Thiemann at the Universit=E4t Freiburg seem to have gotten good results on the same problem using a form of data flow analysis. They will be presenting a paper on the subject at icfp 2003 titled "Discriminative sum types locate the source of type errors" http://www.informatik.uni-freiburg.de/~neubauer/papers/icfp03.pdf ------------------- 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