From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 36E737FD92 for ; Fri, 10 Jun 2016 20:26:03 +0200 (CEST) IronPort-PHdr: 9a23:YNnKuhaYx9tQ1pStAhx2Cd//LSx+4OfEezUN459isYplN5qZpMu7bnLW6fgltlLVR4KTs6sC0LqH9f+/EjVaut6oizMrTt9lb1c9k8IYnggtUoauKHbQC7rUVRE8B9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUiv2OQc9HOnpAIma153xjLDjvcKMKFwS33KUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGY2zRakzTKRZATI6KCh1oZSz7ViQdwCR6jMwW3kb2hNOBA3M6ACyHs2o83iyiu0o+CScMdf3TvgeXjOnp/NrRRnkkiYEHyI+6GbWzNR3i7sdqxWk8Vg3iYXdZYXQMPtlYovce8kbTCxPRIwZAydIB4f5a4oUE8IAO/xZps/zvQ1dlxamARiQA7a7xjZSh3iwwaA7w+kgCwjuzQUgGNVIu3PR+obbLqAXBLS5xbPJynPfYvJG1Dbn4aDZexAmpreHWrcmIpmZ8lUmCw6Q1gbYkofiJT7Ak7tcvg== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=dario.teixeira@yahoo.com; spf=Pass smtp.mailfrom=dario.teixeira@yahoo.com; spf=None smtp.helo=postmaster@nm22-vm0.bullet.mail.ne1.yahoo.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of dario.teixeira@yahoo.com) identity=pra; client-ip=98.138.91.60; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dario.teixeira@yahoo.com"; x-sender="dario.teixeira@yahoo.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of dario.teixeira@yahoo.com designates 98.138.91.60 as permitted sender) identity=mailfrom; client-ip=98.138.91.60; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dario.teixeira@yahoo.com"; x-sender="dario.teixeira@yahoo.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@nm22-vm0.bullet.mail.ne1.yahoo.com) identity=helo; client-ip=98.138.91.60; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dario.teixeira@yahoo.com"; x-sender="postmaster@nm22-vm0.bullet.mail.ne1.yahoo.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AHAQDuBFtXfTxbimJegjCCYRCpfoVyiyWBeoYXAoEqOBQBAQEBAQEBAREBAQkLCwkhL4IwghYBAQQLGAQEFQEBOA8LGgINGQICLwEOAQYSBgGIJwEBAhesRWeBagSCVAEBBYFbhV8BIwMBIwOECAEBAQEBAQEBAQEBAQEBAQEBAQEBARQIEwJshyWCToRdgmSCWgGYY44oHoE1h3EggRQLTYNQjx5NHoIwgXRuiTtNAQEB X-IPAS-Result: A0AHAQDuBFtXfTxbimJegjCCYRCpfoVyiyWBeoYXAoEqOBQBAQEBAQEBAREBAQkLCwkhL4IwghYBAQQLGAQEFQEBOA8LGgINGQICLwEOAQYSBgGIJwEBAhesRWeBagSCVAEBBYFbhV8BIwMBIwOECAEBAQEBAQEBAQEBAQEBAQEBAQEBARQIEwJshyWCToRdgmSCWgGYY44oHoE1h3EggRQLTYNQjx5NHoIwgXRuiTtNAQEB X-IronPort-AV: E=Sophos;i="5.26,451,1459807200"; d="scan'208";a="221979622" Received: from nm22-vm0.bullet.mail.ne1.yahoo.com ([98.138.91.60]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 10 Jun 2016 20:26:01 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1465583159; bh=gfwmW2yywjiG/iP9zqTe1f5eO4BOpB8tivGNHghueZI=; h=Date:From:Reply-To:To:In-Reply-To:References:Subject:From:Subject; b=IYX8qIQqG1D0+svvqsGaizdY1wgvB9d6UEn5n7m4d2wHYnh07oh4bw6qCFoEH+3qLbOuaJ/7vPhmvVBDlDePFFP6+KP3KSwAgrJKiTyxp9kFPZYC1jsMzygMyJWxIF+O9HIbaADtuIG7KPClAzB9T0yJnQAXgkSbptSLEsQL5AYlSSMXnEZxDf6XanukSPJdZPVWQ9KiLAmS5BH3uKwekjvzZva8EFtMmQh0/wOpaZsRhFHfoKNg1F3NHMNOOVdJ2uqXeWfzgbqox0o+sNH4mn0SqVByOS0YVdgmEaNRBmpXx1aQqzt2uSXe2y8ziP5V2HU9rav/f1GK0FCnbj73HQ== Received: from [98.138.101.131] by nm22.bullet.mail.ne1.yahoo.com with NNFMP; 10 Jun 2016 18:25:59 -0000 Received: from [98.138.226.162] by tm19.bullet.mail.ne1.yahoo.com with NNFMP; 10 Jun 2016 18:25:59 -0000 Received: from [127.0.0.1] by omp1063.mail.ne1.yahoo.com with NNFMP; 10 Jun 2016 18:25:59 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 653549.96493.bm@omp1063.mail.ne1.yahoo.com X-YMail-OSG: k_YP4_AVM1msf34nDSH_jRstb0lecoJ_PdBN3.McdgC6WvPMHgYVkHIMosgxP9J icnDDRT3AANeJJ29.qVDzMYX7aqDL00lbmTccrusSKFASJ1tUM3M8ZlZUWHEaBMSV5XpR_PqyKrO snPMFTk4cxy5fKtyJ3lU1bAmhFnqZC0G5Eate5.AjvbeJlNadQanISsutJj8nT4m81A51L5kNSnY bozz5bEQfts6hOxNJMQLmui8arbV1lp9t0zAp8EaOoCJCoDfnBTU5Omew838DjxY6PwE7OUvr330 9pd4S8BWtff8I66mmRrBLL9RzCvdTWSPea8zYVHGvl6ME.LChkD_.UU4vQhcwMRfMqKYggK8di1D 8jANOoSVkZsgnqH1bsyvmV2M6S3gaxkKrj5wT7wA5SXze9EO9G99O61jM2bEhFJ87HBuUar7qiD6 PHNlpv8LxhgdPqOjPiZLoQ_b_5pqhbHglF4EuNOpewz7A8Kg6k6MpxI1oRs24bgVPToJKTLgtWvx g0bqPk0WvZDIZ.UirfaQv1_6jWYY- Received: from jws100258.mail.ne1.yahoo.com by sendmailws159.mail.ne1.yahoo.com; Fri, 10 Jun 2016 18:25:59 +0000; 1465583159.201 Date: Fri, 10 Jun 2016 18:25:57 +0000 (UTC) From: Reply-To: To: Hendrik Boom , "caml-list@inria.fr" Message-ID: <1954387336.802086.1465583157701.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: <20160610181222.GA27973@topoi.pooq.com> References: <20160610181222.GA27973@topoi.pooq.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Validation-by: dario.teixeira@yahoo.com Subject: Re: [Caml-list] reverse coercions Hi, > (b) Is there any way to do a run-time type-test on a value of a > specific statically known supertype to test whether it is actually a > value of a known specified subtype, and if so to proceed to use it as > that subtype? I reckon the "#" syntax may be what you are looking for. It works with polymorphic variants and objects (types where row-polymorphism applies). Small example: type foo = [ `A | `B | `C ] type bar = [ `D | `E | `F ] type foobar = [ foo | bar ] let f = function | #foo -> "Foo" | #bar -> "Bar" Hope this helps! Best regards, Dario Teixeira