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 JAA10335; Tue, 14 May 2002 09:56:37 +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 JAA10331 for ; Tue, 14 May 2002 09:56:36 +0200 (MET DST) Received: from venus.is.s.u-tokyo.ac.jp (venus.is.s.u-tokyo.ac.jp [133.11.12.9]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g4E7uYn22452 for ; Tue, 14 May 2002 09:56:35 +0200 (MET DST) Received: from localhost (tuba.is.s.u-tokyo.ac.jp [133.11.12.102]) by venus.is.s.u-tokyo.ac.jp (8.11.6/3.7W) with ESMTP id g4E7uWe12941; Tue, 14 May 2002 16:56:32 +0900 (JST) To: caml-list@inria.fr From: eijiro_sumii@anet.ne.jp cc: sumii@yl.is.s.u-tokyo.ac.jp Subject: Re: [Caml-list] Turning off type-checking In-Reply-To: <20020514091053.A8883@pauillac.inria.fr> References: <706871B20764CD449DB0E8E3D81C4D4301EE6D43@opus.cs.cornell.edu> <20020514091053.A8883@pauillac.inria.fr> X-Mailer: Mew version 1.94.2 on Emacs 20.7 / Mule 4.0 (HANANOEN) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20020514165632J.sumii@tuba.is.s.u-tokyo.ac.jp> Date: Tue, 14 May 2002 16:56:32 +0900 X-Dispatcher: imput version 20000228(IM140) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk From: Francois Pottier > > Well, type-checking ML involves more than term unification -- the > > worst case complexity is something truly horrible (EXP-time). > > Having said this, for most programs, the worst-case complexity > > rarely, if ever arises in "natural" code. (I've not run into > > it...) > > The worst-case complexity is obtained by nesting `let' bindings > on the left side, i.e. > > let x1 = let x2 = let x3 = ... > > Do you generate such code, Markus? Just for information, I once came across a real situation where I generated similar code with too much nested 'let' and ocamlc/ocamlopt/ocamlc.opt/ocamlopt.opt ran out of memory or did not terminate within a practical amount of time. I am not sure whether that was because of type checking, though. (See the "PLClubCN" version of our entry to ICFP Programming Contest 2000 in case of any interest...) -- Eijiro Sumii (http://www.yl.is.s.u-tokyo.ac.jp/~sumii/) Research Associate, Department of Computer Science, University of Tokyo ------------------- 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