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 SAA05788; Fri, 14 May 2004 18:30:52 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 SAA06371 for ; Fri, 14 May 2004 18:30:51 +0200 (MET DST) Received: from calmail-cl.berkeley.edu (mailfarm.Berkeley.EDU [128.32.61.106]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i4EGUnEV030092 for ; Fri, 14 May 2004 18:30:50 +0200 Received: from [64.162.212.212] (HELO tallman.kefka.frap.net) by calmail-cl.berkeley.edu (CommuniGate Pro SMTP 4.1.8) with SMTP id 27832667; Fri, 14 May 2004 09:30:48 -0700 Received: by tallman.kefka.frap.net (sSMTP sendmail emulation); Fri, 14 May 2004 09:28:48 -0700 Date: Fri, 14 May 2004 09:28:48 -0700 From: Kenneth Knowles To: David Fox Cc: Ocaml Subject: Re: [Caml-list] "changing" immutable record elements Message-ID: <20040514162847.GA8970@tallman.kefka.frap.net> References: <40A4EAC8.2080905@lindows.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <40A4EAC8.2080905@lindows.com> User-Agent: Mutt/1.5.6i X-Miltered: at nez-perce with ID 40A4F439.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; knowles:99 caml-list:01 immutable:01 2004:99 prettier:01 0700,:01 rec:01 rec:01 match:02 wrote:03 let:04 let:04 fox:04 seems:05 core:06 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, May 14, 2004 at 08:50:32AM -0700, David Fox wrote: > Unless I am missing some core language feature, it seems to me that the > most awkward part of the language is constructing an expression that > represents a record with a single field modified: > > let set_field3 rec value = > match rec with > {field1=field1; field2=field2; field3=field3; field4=field4; > field5=field5} -> > {field1=field1; field2=field2; field3=value; field4=field4; > field5=field5} > > is there any prettier way of doing this? Yes let set_field3 rec value = {rec with field3 = value} Kenn ------------------- 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