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.8 required=5.0 tests=AWL,SPF_FAIL 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 3A81BBC0A for ; Wed, 4 Apr 2007 17:51:10 +0200 (CEST) Received: from ciao.gmane.org (main.gmane.org [80.91.229.2]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l34Fp9QJ032482 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 4 Apr 2007 17:51:10 +0200 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HZ7lI-0006uF-9i for caml-list@inria.fr; Wed, 04 Apr 2007 17:51:04 +0200 Received: from bas1-montreal42-1178030101.dsl.bell.ca ([70.55.80.21]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 04 Apr 2007 17:51:04 +0200 Received: from monnier by bas1-montreal42-1178030101.dsl.bell.ca with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 04 Apr 2007 17:51:04 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Stefan Monnier Subject: Re: Polymorphic recursion Date: Wed, 04 Apr 2007 11:50:48 -0400 Message-ID: References: <6f9f8f4a0704030959l8ebb155g8532e3ee6d31c66d@mail.gmail.com> <4613C0AA.8010405@inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: bas1-montreal42-1178030101.dsl.bell.ca User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.96 (gnu/linux) Cancel-Lock: sha1:hPY6UXh9xdOCGX2APJhN5iyOYBo= Sender: news X-Miltered: at concorde with ID 4613C96D.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; recursion:01 -rectypes:01 recursion:01 datatypes:01 datatype:01 polymorphic:01 polymorphic:01 inferred:02 implicit:03 hint:04 linked:06 definition:07 example:10 umontreal:13 case:13 > This is a good illustration of why -rectypes is not enabled by default. In my experience, polymorphic recursion is almost always linked to datatypes whose recursion is itself polymorphic. As is the case in Loup's example. Has there been work in trying to leverage this connection, so that polymorphic recursion can be automatically inferred by taking advantage of the implicit type hint provided by the datatype definition? Stefan