From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id C8820BBAF for ; Sat, 12 Jul 2008 20:27:47 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhIDABaUeEhTkhUHgWdsb2JhbACSLAEBECADljE X-IronPort-AV: E=Sophos;i="4.30,350,1212357600"; d="scan'208";a="15057777" Received: from smtp.bulldogdsl.com (HELO cht-smtp-001.bulldogdsl.com) ([83.146.21.7]) by mail3-smtp-sop.national.inria.fr with ESMTP; 12 Jul 2008 20:27:47 +0200 Received: by cht-smtp-001.bulldogdsl.com (Postfix, from userid 1011) id 7BCF24E69A8; Sat, 12 Jul 2008 19:27:46 +0100 (BST) X-Spam-Abuse: Please report all spam/abuse matters to abuse@bulldogdsl.com X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on cht-smtp-001.bddsl.net X-Spam-Level: Received: from [192.168.123.191] (host-84-9-232-7.dslgb.com [84.9.232.7]) by cht-smtp-001.bulldogdsl.com (Postfix) with ESMTP id EAC474E68CB; Sat, 12 Jul 2008 19:27:43 +0100 (BST) Message-ID: <4878F79F.30604@ed.ac.uk> Date: Sat, 12 Jul 2008 19:27:43 +0100 From: Jeremy Yallop User-Agent: Mozilla-Thunderbird 2.0.0.14 (X11/20080509) MIME-Version: 1.0 To: Dario Teixeira Cc: Wolfgang Lux , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Troublesome nodes References: <761520.40658.qm@web54603.mail.re2.yahoo.com> In-Reply-To: <761520.40658.qm@web54603.mail.re2.yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; nodes:01 node:01 node:01 rhs:01 wrote:01 matched:01 caml-list:01 match:02 match:02 refine:03 pattern:04 convert:11 convert:11 type:14 super:24 Dario Teixeira wrote: > and convert_super_node node = match node with > | #nonlink_node_t -> (convert_nonlink_node node :> super_node_t) > | #link_node_t -> (convert_link_node node :> super_node_t) You need to rebind the matched value within the pattern in order to refine the type on the rhs: and convert_super_node node = match node with | #nonlink_node_t as node -> (convert_nonlink_node node :> super_node_t) | #link_node_t as node -> (convert_link_node node :> super_node_t) Jeremy.