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 WAA08811 for caml-redistribution; Sun, 10 Oct 1999 22:12:03 +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 FAA03636 for ; Sun, 10 Oct 1999 05:19:20 +0200 (MET DST) Received: from igw3.watson.ibm.com (igw3.watson.ibm.com [198.81.209.18]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id FAA12602 for ; Sun, 10 Oct 1999 05:19:19 +0200 (MET DST) From: chet@watson.ibm.com Received: from mailhub.watson.ibm.com (mailhub.watson.ibm.com [9.2.250.97]) by igw3.watson.ibm.com (8.9.3/8.9.3/05-14-1999) with ESMTP id XAA09150; Sat, 9 Oct 1999 23:19:17 -0400 Received: from nautilus.chet.org (lig32-226-140-42.us.lig-dial.ibm.com [32.226.140.42]) by mailhub.watson.ibm.com (8.8.7/Feb-20-98) with ESMTP id XAA19944; Sat, 9 Oct 1999 23:19:15 -0400 Received: from bismarck.chet.org (root@bismarck.chet.org [192.168.10.15]) by nautilus.chet.org (8.8.8/8.8.8/Debian/GNU) with ESMTP id XAA09354; Sat, 9 Oct 1999 23:20:52 -0400 Received: from bismarck.chet.org (chet@localhost [127.0.0.1]) by bismarck.chet.org (8.8.8/8.8.8/Debian/GNU) with ESMTP id XAA05256; Sat, 9 Oct 1999 23:18:29 -0400 Message-Id: <199910100318.XAA05256@bismarck.chet.org> To: John Prevost cc: skaller , caml-list@inria.fr Subject: Re: Proposal for study: Add a categorical Initial type to ocaml In-reply-to: Your message of 09 Oct 1999 18:43:35 EDT. Date: Sat, 09 Oct 1999 23:18:29 -0400 Sender: weis I second John's point. In order to capture Java's semantics "on the nose", you need to be able to model a slot of the T, which can contain a "null". Doing that by transforming Java's "T" to Caml's "T option", while using a more-efficient representation under-the-covers, preserves the possibility of disabling that efficiency-hack and debugging in a cleaner environment. Moreover, Java's semantics for variable-access is that fetching a null value doesn't raise an exception -- only invoking a method on it raises an exception. So one can't use this "initial value" to model Java's "null". Now, nobody claimed that Java's "null" was the target here, but, hey, that's my $0.02. --chet--