From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA07700 for caml-redistribution; Mon, 24 Nov 1997 17:44:51 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA07195 for ; Mon, 24 Nov 1997 17:28:45 +0100 (MET) Received: from nef.ens.fr (nef.ens.fr [129.199.96.12]) by nez-perce.inria.fr (8.8.7/8.8.5) with ESMTP id RAA23665 for ; Mon, 24 Nov 1997 17:28:42 +0100 (MET) Received: from vedette.ens.fr (vedette.ens.fr [129.199.130.1]) by nef.ens.fr (8.8.7/jtpda-5.1) with ESMTP id RAA25249 ; Mon, 24 Nov 1997 17:28:04 +0100 (MET) Received: from localhost (vouillon@localhost) by vedette.ens.fr (8.8.7/jb-1.1) id RAA23875 ; Mon, 24 Nov 1997 17:27:57 +0100 (MET) X-Authentication-Warning: vedette.ens.fr: vouillon owned process doing -bs Date: Mon, 24 Nov 1997 17:27:56 +0100 (MET) From: Jerome Vouillon X-Sender: vouillon@vedette To: Francisco Valverde cc: Caml List Subject: Re: Feature drawn back in new 1.06 version. In-Reply-To: <34759E4C.1AE733A1@tsc.uc3m.es> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis > I was using the possibity of defining recursive types for developing a > rather convoluted search in two coupled domains, but now I find that I > cannot anymore... Has anybody found a(n elegant, concise) way of > circumventing it... Please note that the type recursion is ended by > inserting appropriate non-recursive variants... Maybe I abused the type > system! (Note also that a recursion at the level of structures would be > heaven sent!) > type p_state [...] > and p = (p_label, p_state, s) node > and s = (s_label, s_state, p) node You can change your type definitions as follow, and modify the remaining of your program accordingly. type p_state [...] and p = P of (p_label, p_state, s) node and s = S of (s_label, s_state, p) node -- Jerome