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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 3A848BBAF for ; Sat, 30 Oct 2010 15:36:02 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvQBAB68y0xii1vwfGdsb2JhbACTG45AAQELCQoHEQUfqkGCF4VXiQUBBAQBhT8EhFeJBQ X-IronPort-AV: E=Sophos;i="4.58,264,1286143200"; d="scan'208";a="77426979" Received: from nm11-vm0.bullet.mail.sp2.yahoo.com ([98.139.91.240]) by mail2-smtp-roc.national.inria.fr with SMTP; 30 Oct 2010 15:36:01 +0200 Received: from [98.139.91.66] by nm11.bullet.mail.sp2.yahoo.com with NNFMP; 30 Oct 2010 13:35:58 -0000 Received: from [98.139.91.23] by tm6.bullet.mail.sp2.yahoo.com with NNFMP; 30 Oct 2010 13:35:58 -0000 Received: from [127.0.0.1] by omp1023.mail.sp2.yahoo.com with NNFMP; 30 Oct 2010 13:35:58 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 791663.14084.bm@omp1023.mail.sp2.yahoo.com Received: (qmail 15259 invoked by uid 60001); 30 Oct 2010 13:35:58 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1288445758; bh=CN3gpji5el/s1lHeUTDUFlsfTt5UsUQjmu7PvOgnpDs=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=6WMqoEWBPUFt1FDbafu/0nnkqFB4kts0YPj4zH1Um56hM0z5rlukShFFv1pQrJZAZbrqxnOVCLq4y0z+WZqlEMLPyrq62UjscEYQCRYrF1rl85+EovSwKS3n3SXGrLFnjqknkgwJhmzsaxLko+a9h/S1thIZj0TiyFGHLttU54A= 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=bm/ETGG+Am/GPaUuRDh2e9OBXy6vvm4ljeroPkiV0BwQrOodNpF1eN9/iK7004sGHyYR3Wav2I10iW6uU527aBi2wGZfx/wTJ4h8P5jxYsD1uq3rGPeaIOrRk31et22kI1POkOsLGuv0ECKtZYAiVTXMGxigt2Tc/HcMj5nXl7c=; Message-ID: <263325.93623.qm@web111505.mail.gq1.yahoo.com> X-YMail-OSG: 9Ls.wMoVM1n1G8R_UgDvwtJ0modEs6ST8uevj.nRxhAbFDc darw33G2AV0SPDCZso7N89PGNGJ5ymFtFZpwJ0XLi0cZ2xuZ0V2XX9jl4UC6 H6CpG.DxJVmn0knbS0feHCB5yPMs1vQD6vSGrQcOq4INwL4GnUITScj5Ogc1 Y2NXVWQkov7KYp1RR56YQZ4XW29oZY06oN_hobyZmiSyX4ih4yMvjcQUQ9OB kDy2qNBjk1GJojYRrxELNMPiXmtXKN_07QgOTRL8TlP.zccIQIeOfVpIg5Ok k92QExOiC39uCZbqzAUFdHTizz_imod7qzrW7R857WrVqxbEfWq_yZ94- Received: from [213.205.70.210] by web111505.mail.gq1.yahoo.com via HTTP; Sat, 30 Oct 2010 06:35:58 PDT X-Mailer: YahooMailClassic/11.4.9 YahooMailWebService/0.8.107.284920 Date: Sat, 30 Oct 2010 06:35:58 -0700 (PDT) From: Dario Teixeira Subject: Re: [Caml-list] Re: Generalized Algebraic Datatypes To: caml-list@inria.fr, Stefan Monnier In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; datatypes:01 haskell:01 ocaml:01 ocaml:01 constructors:01 curried:01 curried:01 constructors:01 syntax:01 cheers:01 sml:01 partial:01 partial:01 caml-list:01 constructor:01 Hi,=0A=0A> > While this does make sense in Haskell, in Ocaml it feels a bit= =0A> > out of place, because you cannot, for example, partially apply=0A> >= a type constructor.=0A> =0A> The types above don't allow partial applicati= ons either.=A0 They use the=0A> OCaml/SML style of constructors were partia= l application is not possible=0A> because the various arguments are not pro= vided in a curried way.=0A=0AThat was precisely my point (I think you may h= ave misunderstood what I said).=0AIn Ocaml, whenever you see a curried type= declaration you can safely assume=0Athat the constructors may be partially= applied. The GADT syntax under=0Adiscussion breaks this assumption; hence= my reticence.=0A=0ACheers,=0ADario Teixeira=0A=0A=0A=0A