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 SAA18571 for caml-red; Wed, 8 Nov 2000 18:14:13 +0100 (MET) 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 LAA24704 for ; Tue, 7 Nov 2000 11:56:04 +0100 (MET) Received: from mta5.snfc21.pbi.net (mta5.snfc21.pbi.net [206.13.28.241]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id eA7Au2v15054; Tue, 7 Nov 2000 11:56:03 +0100 (MET) Received: from checkerlap.d6.com ([64.160.53.49]) by mta5.snfc21.pbi.net (Sun Internet Mail Server sims.3.5.2000.01.05.12.18.p9) with ESMTP id <0G3N001LLG9GZC@mta5.snfc21.pbi.net>; Tue, 7 Nov 2000 02:10:29 -0800 (PST) Date: Tue, 07 Nov 2000 02:13:07 -0800 From: Chris Hecker Subject: Re: practical functional programming In-reply-to: <20001107100639.14698@pauillac.inria.fr> X-Sender: def6@shell16.ba.best.com To: Xavier Leroy , Jean-Christophe Filliatre Cc: caml-list@inria.fr Message-id: <4.3.2.7.2.20001107021125.00acbcd0@shell16.ba.best.com> MIME-version: 1.0 X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Content-type: text/plain; charset="us-ascii" References: <4.3.2.7.2.20001106100700.00c447b0@shell16.ba.best.com> <4.3.2.7.2.20001103055229.00ab6880@shell16.ba.best.com> <4.3.2.7.2.20001103055229.00ab6880@shell16.ba.best.com> <14854.44822.43851.623717@pc803> <4.3.2.7.2.20001106100700.00c447b0@shell16.ba.best.com> Sender: weis@pauillac.inria.fr Thanks to everybody for the great replies! >Sharing is the key. The beauty of immutable data structures is that >sharing is always safe. Ah, this makes sense. How does the compiler "know" the datastructure is purely functional? In other words, is there any way for me to get a type into a tree that has a mutable member (perhaps through an abstract type), and if so, what happens in that case? Chris