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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id CD1C9BBAF for ; Fri, 29 Oct 2010 18:42:37 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqgEAPqVykxii1vxY2dsb2JhbACDC5AfMY4EFwkKCBAFH61HPIIXhhWJBQEEBAGBHYMydASEV4kE X-IronPort-AV: E=Sophos;i="4.58,260,1286143200"; d="scan'208";a="76780501" Received: from nm11-vm1.bullet.mail.sp2.yahoo.com ([98.139.91.241]) by mail4-smtp-sop.national.inria.fr with SMTP; 29 Oct 2010 18:42:36 +0200 Received: from [98.139.91.68] by nm11.bullet.mail.sp2.yahoo.com with NNFMP; 29 Oct 2010 16:42:35 -0000 Received: from [98.139.91.19] by tm8.bullet.mail.sp2.yahoo.com with NNFMP; 29 Oct 2010 16:42:35 -0000 Received: from [127.0.0.1] by omp1019.mail.sp2.yahoo.com with NNFMP; 29 Oct 2010 16:42:35 -0000 X-Yahoo-Newman-Property: ymail-5 X-Yahoo-Newman-Id: 450842.12866.bm@omp1019.mail.sp2.yahoo.com Received: (qmail 9485 invoked by uid 60001); 29 Oct 2010 16:42:35 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1288370555; bh=HKmddmKYA8CLI9lFawo/0p7LDtuogAAv1UXa7ro90B8=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=XuCAg62YDvonU9AhMb12UiFuWnYJVNKzE2s65GKbI4x4eiy4EOo4WY+FuLihlVp15cvTgjADM8WXbQFivge8jEd/eOzFzdmOCi2eOz7l2goKJMalGPCRMUyodL5S09n3NvVgMx9BvqUEdi0Ai9KsQG/UHfww/AdK2jO8lWvB8os= DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=YY7Dwg1w2MUfcWg7dIPg05o7WpKQ3mMEzoriVJC/CRAmO4FuPU0w5phDqgGmwPhhOGbOfXlwdqWX6bpIpmwkXYOonCLfcTexcrNmyY4yMKxCNVg0oBTtQot5KX9f5tM4KxJ71aYhtjHYhcaAygs8XsfRzCbR3bdKKnUhJHi9Zuo=; Message-ID: <30779.2637.qm@web111516.mail.gq1.yahoo.com> X-YMail-OSG: 4306dy0VM1kEHfe60jVf6zXIPIVTAXxpc8V.xDiIqSZSK0x FHs86U8xUdzkgIHhOz4Tw7PcKCpap7hs4qedi6MfFZblwWtEWVRGGI8IhR03 wWhfqlYW3O.J1KzGeAlVU0fOaN1kOS8i19V7ownE_7n0Gcyh4KuLb5UUGPKZ lKAvE7Eve.nFKo_B7hICGrCMBsp9RrKevzpHUSNV6ixmghU1QM4CmS9iDs6a kmsreQ9WI16KXlEjMvK8ROzTooONafyyslLMa.sas_yfVNGyjc0S0jvOm2jp F1mZLnKFnboPPzx2ug.tKpVQLZTO7NC7YV.2A09SVNXsIlL_1zMhQl6FB6m_ _QVAP.Vgw.RQ- Received: from [213.205.70.223] by web111516.mail.gq1.yahoo.com via HTTP; Fri, 29 Oct 2010 09:42:34 PDT X-Mailer: YahooMailClassic/11.4.9 YahooMailWebService/0.8.107.284920 Date: Fri, 29 Oct 2010 09:42:34 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Generalized Algebraic Datatypes To: caml-list@yquem.inria.fr In-Reply-To: <4CCAF032.7020706@inria.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; datatypes:01 syntax:01 syntax:01 programmer's:01 coq:01 syntaxes:01 superset:01 haskell-like:01 unambiguous:01 haskell:01 ocaml:01 cheers:01 potatoes:98 syntactic:01 caml-list:01 Hi,=0A=0A> Don't take the syntax from my 2008 CUG talk too seriously, it wa= s just=0A> a mock-up for the purpose of the talk. Besides, it's too early = for a=0A> syntax war :-)=0A=0AIndeed. There's just something about syntax = that tickles the more=0Aprimitive parts of the programmer's brain... :-)=0A= =0A=0A> This said, Coq could be another source of syntactic inspiration: it= =0A> has several equivalent syntaxes for inductive type declarations (a=0A>= superset of GADTs), one Haskell-like, others more Caml-like.=0A=0AI think = we can all agree that ultimately the chosen syntax should be=0Aone that is = unambiguous and coherent. Nevertheless, all other factors=0Abeing equal, i= t would be preferable to have a Camlish syntax that feels=0A"right at home"= within the broader language.=0A=0AMy initial reticence to Jacques proposal= syntax was based solely on it=0Ahaving provoked a context-switch in my bra= in: the declarations only=0Amade intuitive sense when I tried reading them = as if they were Haskell.=0AIn contrast, the CUG 2008 syntax made immediate = sense, even if it=0Amay require serious massaging before it can be deemed s= uitable.=0A=0ABut anyway, this syntax talk is all small potatoes. The impo= rtant thing=0Ais that Ocaml is getting yet another killer feature...=0A=0AC= heers,=0ADario Teixeira=0A=0A=0A=0A