From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 68BBF7EE25 for ; Fri, 8 Nov 2013 22:56:44 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=pra; client-ip=212.27.42.6; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=mailfrom; client-ip=212.27.42.6; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp6-g21.free.fr) identity=helo; client-ip=212.27.42.6; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="postmaster@smtp6-g21.free.fr"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0BAL1dfVLUGyoGnGdsb2JhbABZwC+CeYExFg4BAQEBAQYNCQkUKIIlAQEFJxFAARALGAkWDwkDAgECAUUGAQwBBwEBiAG9Lo80MweEMAOYD4Y9jnU X-IPAS-Result: Av0BAL1dfVLUGyoGnGdsb2JhbABZwC+CeYExFg4BAQEBAQYNCQkUKIIlAQEFJxFAARALGAkWDwkDAgECAUUGAQwBBwEBiAG9Lo80MweEMAOYD4Y9jnU X-IronPort-AV: E=Sophos;i="4.93,662,1378850400"; d="scan'208";a="41830349" Received: from smtp6-g21.free.fr ([212.27.42.6]) by mail2-smtp-roc.national.inria.fr with ESMTP; 08 Nov 2013 22:56:43 +0100 Received: from [192.168.0.10] (unknown [78.192.0.38]) by smtp6-g21.free.fr (Postfix) with ESMTP id 7410782273; Fri, 8 Nov 2013 22:56:39 +0100 (CET) Message-ID: <527D5E18.5040501@frisch.fr> Date: Fri, 08 Nov 2013 22:56:40 +0100 From: Alain Frisch User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Andreas Rossberg , Brigitte Pientka CC: OCaML List Mailing References: <527D452E.90701@cs.mcgill.ca> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] recursive records On 11/8/2013 9:17 PM, Andreas Rossberg wrote: > An application like the one of delay is not a value. One possible workaround for allowing such recursive bindings where references to the bound values are under abstractions which are not evaluated while tying the knot is to go through lazy values: let ones = let rec ones = lazy {hd = 1; tl = delay (fun () -> Lazy.force ones)} in Lazy.force ones (Of course, for this specific example, this is a little bit silly.) -- Alain