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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 6AB35BC69 for ; Thu, 4 Oct 2007 21:47:16 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAL/fBEfUGyoeimdsb2JhbACBWYxfAQEJBAYgBw X-IronPort-AV: E=Sophos;i="4.21,232,1188770400"; d="scan'208";a="2150550" Received: from smtp4-g19.free.fr ([212.27.42.30]) by mail1-smtp-roc.national.inria.fr with ESMTP; 04 Oct 2007 21:47:16 +0200 Received: from smtp4-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp4-g19.free.fr (Postfix) with ESMTP id E881C3EA0BA for ; Thu, 4 Oct 2007 21:47:15 +0200 (CEST) Received: from localhost.localdomain (c5850-a2-3-62-147-8-18.dial.proxad.net [62.147.8.18]) by smtp4-g19.free.fr (Postfix) with ESMTP id 2DC0B3EA0EF for ; Thu, 4 Oct 2007 21:47:15 +0200 (CEST) Date: Thu, 4 Oct 2007 19:48:08 +0200 From: Fabrice Marchant To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: How important are circular lists/recursive objects? Message-ID: <20071004194808.6d7e1136@localhost.localdomain> In-Reply-To: <1175664498.24614.5.camel@rosella.wigram> References: <1175664498.24614.5.camel@rosella.wigram> X-Mailer: Claws Mail 2.10.0 (GTK+ 2.10.13; i486-pc-linux-gnu) X-Face: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; recursive:01 abstraction:01 abstraction:01 sourceforge:01 wrote:01 rec:01 caml-list:01 functional:02 functional:02 objects:02 unit:03 let:03 problem:05 cycles:06 cycles:06 On Wed, 04 Apr 2007 15:28:18 +1000 skaller wrote: > You can also create cycles using functional abstraction Sorry, I completely missed this old exciting topic and posts. Please could you develop a bit to show how we can create cycles using functional abstraction ? In fact, my problem is I do not exactly see what means "functional abstraction". Do you speak about something like this ? type circular_list = Circular_list of (unit -> circular_list) let rec cl = fun () -> Circular_list (fun () -> Circular_list cl) Regards, Fabrice