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.0 required=5.0 tests=none 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 8909BBBAF for ; Mon, 19 Jan 2009 18:35:14 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsABAC5IdEmCcYARmWdsb2JhbACUBwEBAQEBCAsKBxG+EoVz X-IronPort-AV: E=Sophos;i="4.37,290,1231110000"; d="scan'208";a="33960663" Received: from coriana6.cis.mcmaster.ca ([130.113.128.17]) by mail4-smtp-sop.national.inria.fr with ESMTP; 19 Jan 2009 18:35:13 +0100 Received: from Dura7.UTS.McMaster.CA (dura7.UTS.mcmaster.ca [130.113.196.62]) by coriana6.cis.mcmaster.ca (8.13.7/8.13.7) with ESMTP id n0JHYdoH018396; Mon, 19 Jan 2009 12:35:03 -0500 (EST) Received: from cgpsrv2.cis.mcmaster.ca (univmail.CIS.McMaster.CA [130.113.64.46]) by Dura7.UTS.McMaster.CA (8.13.7/8.13.7) with ESMTP id n0JHY65B028122; Mon, 19 Jan 2009 12:34:06 -0500 Received: from [173.32.147.100] (account carette@univmail.cis.mcmaster.ca HELO [192.168.1.102]) by cgpsrv2.cis.mcmaster.ca (CommuniGate Pro SMTP 4.3.12) with ESMTPSA id 239170263; Mon, 19 Jan 2009 12:34:06 -0500 Message-ID: <4974B98E.4020700@mcmaster.ca> Date: Mon, 19 Jan 2009 12:34:06 -0500 From: Jacques Carette Organization: McMaster University User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: Hugo Ferreira Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Defining type that requires hashtables with recursive definition References: <4974B7AA.9010004@inescporto.pt> In-Reply-To: <4974B7AA.9010004@inescporto.pt> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version-Mac: 5.4.2.338381, Antispam-Engine: 2.6.0.325393, Antispam-Data: 2009.1.19.171633 X-PerlMx-Spam: Gauge=IIIIIII, Probability=7%, Report='BODY_SIZE_1000_LESS 0, BODY_SIZE_300_399 0, BODY_SIZE_5000_LESS 0, __BOUNCE_CHALLENGE_SUBJ 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __USER_AGENT 0' X-Spam: no; 0.00; hashtables:01 recursive:01 node:01 node:01 hashtable:01 hashtbl:01 wrote:01 caml-list:01 int:01 int:01 define:02 mcmaster:02 defining:02 jacques:03 jacques:03 Hugo Ferreira wrote: > I am attempting to define a type so: > > type node = > | Node of links > | Leaf of int > > And I want to implement links as a > hashtable whose keys and values are > also of type node. type node = | Node of links | Leaf of int and links = (node, node) Hashtbl.t should do it. Jacques