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=2.0 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS autolearn=disabled version=3.1.3 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id D15B5BBAF for ; Wed, 21 Jan 2009 22:52:26 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap0DAJbhdklDww/HlGdsb2JhbACOa4UQAQEBAQkLCAkRA6hGkG0FAgGFcA X-IronPort-AV: E=Sophos;i="4.37,302,1231110000"; d="scan'208";a="22861845" Received: from web111512.mail.gq1.yahoo.com ([67.195.15.199]) by mail1-smtp-roc.national.inria.fr with SMTP; 21 Jan 2009 22:52:26 +0100 Received: (qmail 13879 invoked by uid 60001); 21 Jan 2009 21:52:24 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=dB20SAwdH/phY8GwfWm6K/TuqSde/IFsQYnxIQdWzHpL//JjJmzCxZY3UdT0D0bc3N7fHexUIXFrK95p6tdmcnFq2O+LeF6vEp0EhdNU1e6hY7wl5P824Er8l7eooqcRT04dKnK2wWCL8kqTFBLcih6DNEIMiuNGvbah98A/T7k=; X-YMail-OSG: .ZNLwbEVM1ktFOtMblBSpdLmI8_gbrXuIoFii6CrDNNmAmXOeL4- Received: from [213.205.71.51] by web111512.mail.gq1.yahoo.com via HTTP; Wed, 21 Jan 2009 13:52:24 PST X-Mailer: YahooMailWebService/0.7.260.1 Date: Wed, 21 Jan 2009 13:52:24 -0800 (PST) From: Dario Teixeira Subject: GADTs in Ocaml (was: Private types in 3.11, again) To: Gabriel Kerneis Cc: Jacques Garrigue , caml-list@yquem.inria.fr In-Reply-To: <20090121201738.GA7134@kerneis.info> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <910349.12944.qm@web111512.mail.gq1.yahoo.com> X-Spam: no; 0.00; ocaml:01 params:01 node:01 nodes:01 workarounds:01 ocaml:01 compiler:01 cooking:98 wrote:01 data:02 data:02 suggestion:03 seems:03 module:03 module:03 Hi, > I didn't followed the thread closely, but did you have a look > at Ocsigen's way to implement params_type? Thanks for the suggestion. Actually, there's an Ocsigen connection with what I'm doing. The Node module we've been discussing is a simplification; the real problem is for a data type that can be converted into the XHTML.M data used in Ocsigen. (As was discussed some time ago in the Ocsigen maili= ng list, the XHTML.M module does not strictly enforce the nested link nodes rule of the W3C. Nevertheless I have been looking for a solution that does enforce this rule). Anyway, I took a brief look at the code you mentioned, and re-read the relevant section in the "Rapport Ocsigen" you wrote a while ago (when I first read that report I had no idea what GADTs were!). It does seem that we're all just cooking up workarounds to the lack of GADTs in Ocaml. Now, I recall Xavier Leroy mentioning this topic at the user meeting last year. It seems the theory is ready, but the compiler needs some work done before it can accommodate this new feature. Are there news on that front? Best regards, Dario Teixeira =0A=0A=0A