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=1.0 required=5.0 tests=AWL,SPF_NEUTRAL 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 B6A45BC69 for ; Fri, 5 Oct 2007 12:42:59 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAN+xBUdA6aa2i2dsb2JhbACOOQIBCAIGExEF X-IronPort-AV: E=Sophos;i="4.21,234,1188770400"; d="scan'208";a="17330133" Received: from py-out-1112.google.com ([64.233.166.182]) by mail4-smtp-sop.national.inria.fr with ESMTP; 05 Oct 2007 12:42:59 +0200 Received: by py-out-1112.google.com with SMTP id u52so896749pyb for ; Fri, 05 Oct 2007 03:42:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=th5lkMUpCNp2QYkbnD2JoOSpYbJrU9/N1tKQsZr1Gsc=; b=ilz2oYy1x2BEEzOQre8QILwasJq/trNx83j3uyYxsgOBlQCXPiQxjoHRdmU3TWKA5+o1WWeEP2Byl/NjITVX29P27YVdCqhAt88IXlGd5pxGp9HNJpWMgtRHrw8gmgdOPJK+JvZ5lTcwVoOC7AAFMUOkq8w2H9GJo/Nn4fsD8sM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=WuIr0VqLTt4C3p4lOA4D/0e7Bxa32sdtNZ6dTpBWbShZoEXgQrO4+3NQDt3lBfLU57n4hPvfh6xoJUHoiI+k6mrGv5OfHsNs8RV29rw1OUxiQvKZ7g9jkft18CmoHNs35eRMtFKodsMLrw4xOzAZI7LHLBGnxYokA2+ALKB2riI= Received: by 10.64.179.12 with SMTP id b12mr17713773qbf.1191580977317; Fri, 05 Oct 2007 03:42:57 -0700 (PDT) Received: by 10.65.139.12 with HTTP; Fri, 5 Oct 2007 03:42:57 -0700 (PDT) Message-ID: Date: Fri, 5 Oct 2007 12:42:57 +0200 From: "Dominique Martinet" To: skaller Subject: Re: [Caml-list] Re: How important are circular lists/recursive objects? Cc: rossberg@ps.uni-sb.de, caml-list@yquem.inria.fr In-Reply-To: <1191536723.7771.20.camel@rosella.wigram> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1175664498.24614.5.camel@rosella.wigram> <20071004194808.6d7e1136@localhost.localdomain> <1191530384.7078.102.camel@rosella.wigram> <60663.84.159.34.129.1191533795.squirrel@www.ps.uni-sb.de> <1191536723.7771.20.camel@rosella.wigram> X-Spam: no; 0.00; martinet:01 recursive:01 0200,:01 rossberg:01 ocaml:01 ocaml:01 -rectypes:01 2007,:98 sourceforge:01 sourceforge:01 wrote:01 wrote:01 rec:01 caml-list:01 cyclic:01 On 05/10/2007, skaller wrote: > On Thu, 2007-10-04 at 23:36 +0200, rossberg@ps.uni-sb.de wrote: > > skaller wrote: > > > > Note that stuff like: > > > > > > let rec x= (1,x) > > > > > > is not generally allowed: in functional terms it is ill-defined, > > > > It is disallowed in OCaml because it has a cyclic type, not because it is > > a cyclic value. Try with "ocaml -rectypes". > > lists have cyclic types too, they're not disallowed! Lists have a base case to end the cycle, your definition does not (it would be int*int*int...*int and infinity of time, wheras a list contains either a value (head) and a list (tail), either nothing (that is, the empty list [])