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.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 974D1BC6B for ; Wed, 27 Jun 2007 21:30:39 +0200 (CEST) Received: from smtp27.orange.fr (smtp27.orange.fr [80.12.242.96]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5RJUdo7027277 for ; Wed, 27 Jun 2007 21:30:39 +0200 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2727.orange.fr (SMTP Server) with ESMTP id 22EBF1C0011F for ; Wed, 27 Jun 2007 21:30:39 +0200 (CEST) Received: from [192.168.1.162] (ALagny-153-1-98-23.w90-3.abo.wanadoo.fr [90.3.145.23]) by mwinf2727.orange.fr (SMTP Server) with ESMTP id F33FD1C00095 for ; Wed, 27 Jun 2007 21:30:38 +0200 (CEST) X-ME-UUID: 20070627193038996.F33FD1C00095@mwinf2727.orange.fr Mime-Version: 1.0 (Apple Message framework v752.2) In-Reply-To: <20070627191633.73ab011a@kerneis.info> References: <200706271314.35134.jon@ffconsultancy.com> <1A1D6F56-B3DB-4552-969C-9859482175AC@lrde.epita.fr> <46826C69.5060802@functionality.de> <20070627191633.73ab011a@kerneis.info> X-Gpgmail-State: !signed Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed Message-Id: <342AAB2F-A76C-42C8-A5F1-4139BE2FE4A9@lrde.epita.fr> Content-Transfer-Encoding: quoted-printable From: =?ISO-8859-1?Q?Qu=F4c_Peyrot?= Subject: Re: [Caml-list] Book about functional design patterns Date: Wed, 27 Jun 2007 21:30:37 +0200 To: caml-list@yquem.inria.fr X-Mailer: Apple Mail (2.752.2) X-Miltered: at concorde with ID 4682BADF.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; lrde:01 0200,:01 lrde:01 computations:01 amortized:01 ocaml:01 runtime:01 allocations:01 2007,:98 garbage:01 wrote:01 caml-list:01 lazy:02 lazy:02 data:02 On Jun 27, 2007, at 7:16 PM, Gabriel Kerneis wrote: > Le Wed, 27 Jun 2007 17:06:51 +0200, Qu=F4c Peyrot = > a =E9crit : >> It has been said multiple times on this >> mailing list, but I think we really miss a book about these design >> patterns and optimization tricks often specific to a given (or a set >> of) feature (functional, lazy computations, garbage collector...). > > _Purely functional data structures_ by Chris Osaki might interest you. > It's a very good book, covering lazy evaluation and persistent > amortized data structures (among other things). Moreover, it does > insist on optimizations (often left as exercises to the reader, with > enough hints to be easy to figure out). I have this book in my TOREAD list (for a long time now, my bad) I must admit I don't use very often pure functional datastructures in =20= OCaml. My main concern with functional programing has always been the =20 runtime hit you get due to the extra memory allocations (which can be significant). But yes, I should definitely read this book, thanks for reminding me :p --=20 Best Regards, Qu=F4c