From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 80833BBC4 for ; Sat, 4 Apr 2009 13:34:09 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au8AAIfi1knUnwdjjWdsb2JhbACCIJQFAQEBAQkJCgkPBrYShA8G X-IronPort-AV: E=Sophos;i="4.39,323,1235948400"; d="scan'208";a="37852866" Received: from relay.pcl-ipout01.plus.net ([212.159.7.99]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 04 Apr 2009 13:34:09 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AigFAA/i1knUnw4U/2dsb2JhbACCIMphhA8G Received: from pih-relay08.plus.net ([212.159.14.20]) by relay.pcl-ipout01.plus.net with ESMTP; 04 Apr 2009 12:34:08 +0100 Received: from [87.112.226.235] (helo=leper.local) by pih-relay08.plus.net with esmtp (Exim) id 1Lq48W-0004aV-BZ for caml-list@yquem.inria.fr; Sat, 04 Apr 2009 12:34:08 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Strings Date: Sat, 4 Apr 2009 12:40:28 +0100 User-Agent: KMail/1.9.9 References: <200904031256.33357.jon@ffconsultancy.com> <200904041111.47211.jon@ffconsultancy.com> <1238843572.6250.49.camel@Blefuscu> In-Reply-To: <1238843572.6250.49.camel@Blefuscu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200904041240.28726.jon@ffconsultancy.com> X-Plusnet-Relay: b4178f565b1ebf7fa7ee9c8be2fd4859 X-Spam: no; 0.00; mutable:01 stringset:01 arrays:01 2009:98 frog:98 wrote:01 caml-list:01 strings:01 strings:01 functional:02 string:02 bytes:03 modify:05 accident:93 invariant:08 On Saturday 04 April 2009 12:12:52 David Teller wrote: > The bad thing is that, whenever you have to return text in an otherwise > functional program, you need to enter "mutable array of bytes" land. You > can't just assume that the user isn't going to modify that string, > because, they can, possibly by accident, and any invariant relying on > the fact that your strings can't change are going to be broken. In > particular, any StringSet, any StringMap, etc. Sure but that is no different to arrays and an ArraySet, ArrayMap etc. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e