From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA11543 for caml-redistribution; Thu, 14 Oct 1999 15:00:14 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA00512 for ; Wed, 13 Oct 1999 19:19:34 +0200 (MET DST) Received: from mail1.microsoft.com (mail1.microsoft.com [131.107.3.125]) by nez-perce.inria.fr (8.8.7/8.8.7) with SMTP id TAA01170 for ; Wed, 13 Oct 1999 19:19:33 +0200 (MET DST) Received: from 157.54.9.101 by mail1.microsoft.com (InterScan E-Mail VirusWall NT); Wed, 13 Oct 1999 10:19:07 -0700 (Pacific Daylight Time) Received: by INET-IMC-01 with Internet Mail Service (5.5.2650.21) id <45YX3X07>; Wed, 13 Oct 1999 10:19:32 -0700 Message-ID: <783D93998201D311B0CF00805FEAA07B7E8F5E@RED-MSG-42> From: Manuel Fahndrich To: caml-list@inria.fr Subject: RE: Proposal for study: Add a categorical Initial type to ocaml Date: Wed, 13 Oct 1999 09:42:29 -0700 X-Mailer: Internet Mail Service (5.5.2650.21) Sender: weis skaller wrote: [...] > Like I've been saying, with option you can turn it off, with Obj.magic, the > implementor ought to be damned sure he's doing things right. But with > these special "uninitialized value" sorts of things, people like me > who've gotten used to good type systems keep looking over their > shoulders because they're afraid it might turn around and bite them in > the butt. How is this different from Obj.magic? Can't that bite you in the ass too? The difference is that in the first case of uninitialized values, they can crop up anywhere in your program, since they get propagated. Using Obj.magic within a special module such as resizable arrays confines the danger to that module. The programmer can make sure (through extensive code reviews of a finite piece of code) that outside the module, things cannot go awry. -Manuel