From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id E4E477EE34 for ; Tue, 29 Mar 2016 13:26:40 +0200 (CEST) IronPort-PHdr: 9a23:h7EAFB9rSHuVTv9uRHKM819IXTAuvvDOBiVQ1KB91OgcTK2v8tzYMVDF4r011RmSDdWdsawP0LeempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXsq3G/pQQfBg/4fVIsYL+lSsiI0Y/siqibwN76XUZhvHKFe7R8LRG7/036l/I9ps9cEJs30QbDuXBSeu5blitCLFOXmAvgtI/rpMYwuwwZgf8q9tZBXKPmZOx4COUAVHV1e1wysejisRLESQ7Hw3IAW2EVm1IcBg3M8Bj+XZ7ZvS7zt+470y6fa57YV7cxDBW85qEjZxj0jzkMNz8l6ymDi9J/pKNWrR/noAZwld2HKLqJPeZzK/uONegRQnBMC4MID3RM Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=ivg@ieee.org; spf=Pass smtp.mailfrom=ivg@ieee.org; spf=None smtp.helo=postmaster@mail-lf0-f43.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of ivg@ieee.org) identity=pra; client-ip=209.85.215.43; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of ivg@ieee.org designates 209.85.215.43 as permitted sender) identity=mailfrom; client-ip=209.85.215.43; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-lf0-f43.google.com) identity=helo; client-ip=209.85.215.43; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="postmaster@mail-lf0-f43.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BMAQDeZfpWkivXVdFdhH4GryCGY4Zshg0CgSQHPBABAQEBAQEBARABAQEBBwsLCSEvgi2CFQEBAwESEQQZAQErDAEECwkCBAEGAzQCAiEBEgEFARwGEyKHcAMKCJJ0j0GBMT4xik9nhEEBBIcyDYRYAQEBAQEBBAEBAQEBAQEBEgYKhhOERII/hH6CVgGXPzGMEoF1jw2HO4YXER6BDjeCIR6BbSAwAYh5AQEB X-IPAS-Result: A0BMAQDeZfpWkivXVdFdhH4GryCGY4Zshg0CgSQHPBABAQEBAQEBARABAQEBBwsLCSEvgi2CFQEBAwESEQQZAQErDAEECwkCBAEGAzQCAiEBEgEFARwGEyKHcAMKCJJ0j0GBMT4xik9nhEEBBIcyDYRYAQEBAQEBBAEBAQEBAQEBEgYKhhOERII/hH6CVgGXPzGMEoF1jw2HO4YXER6BDjeCIR6BbSAwAYh5AQEB X-IronPort-AV: E=Sophos;i="5.24,410,1454972400"; d="scan'208,217";a="171413852" Received: from mail-lf0-f43.google.com ([209.85.215.43]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 29 Mar 2016 13:26:39 +0200 Received: by mail-lf0-f43.google.com with SMTP id e133so9179251lfe.3 for ; Tue, 29 Mar 2016 04:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=4D+Kc+u5Z67+iZaLg2e7and8gJc6SBpBKOfmWpCM9eI=; b=RrSWTvqU5ijM1omdTaUrDkYVtoXQSXjr2Z6vqOJLtuAYz4Qmvl1UjdkqqawoDUyQii /hlsZw/Z2I6Ahz4eoOOP64ovTG/PO/1VY3omlv6eW5WGjcoWmTBREblc3gubXPUvmecZ I5caGHYVQkFa9B6jWugvFiNqZ6kqK79I/6/RO8yBuigVaJS5BNnzpszZ1uDeH3dG93Tm sERfZU4hQ3RhU5EHt8XCl14aZl8CcpHxhLjDvMk1V34C73uY249n2uDSDAEzi2Pabn43 XuCeVmKobpwCuB5y9n5y2CGfaA+YR2o03hErAPOqYKHsVuTrKRYamvJmSrEQoB7WvSHY I2wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=4D+Kc+u5Z67+iZaLg2e7and8gJc6SBpBKOfmWpCM9eI=; b=MqFYmOvuCjfRbfSK+FlOCpPWW1awyBhZr0m5CUiRNihHuuKgFFyHY+zS3Rc8qI+nfx 2KiRu3FniofhmfhsbILDnpqjD0T5fiaylrlMvrTAu+yyHLrUebAziuXQ6rcbLRm9eESs mO6+et5NA09O/TSo88r+ixD4gRRClLw9j4H0sTiWIIrpeD12c6Z97gqB1gWwWbW7Y0Sk ojJQkT7n7Q1HMQyORJHIFBpxV6/UZ2qSPhG1DqDRyASnQDIxnBfluwjxOr5MpAA89POq hytkIiES0Nbtfm0ka+qbDFFs/vcvP9ZFvyAbRj+d+KCD3Y11sQBRoQdII0RRazmO+qrR E9Sg== X-Gm-Message-State: AD7BkJL7tQMH/BsaxUyPaQnazOIDlVHJIJ8y4rZLrmvSUG3DvBdvmxbtbkduA64Dq0k9E0PiQYgO2xvW6r7sTy0K MIME-Version: 1.0 X-Received: by 10.25.25.81 with SMTP id 78mr858199lfz.145.1459250798499; Tue, 29 Mar 2016 04:26:38 -0700 (PDT) Received: by 10.114.180.161 with HTTP; Tue, 29 Mar 2016 04:26:38 -0700 (PDT) In-Reply-To: References: Date: Tue, 29 Mar 2016 07:26:38 -0400 Message-ID: From: Ivan Gotovchits To: Malcolm Matalka Cc: caml-list Content-Type: multipart/alternative; boundary=001a11401a767bcc01052f2e4db5 Subject: Re: [Caml-list] Should you always use GADTs? --001a11401a767bcc01052f2e4db5 Content-Type: text/plain; charset=UTF-8 One particular practical reason: # type t = Int : int -> t | Float : float -> t [@@deriving bin_io, compare, sexp];; Characters 22-23: type t = Int : int -> t | Float : float -> t [@@deriving bin_io, compare, sexp];; ^ bin_write_sum: GADTs are not supported by bin_prot I'm not sure whether it is a real limitation, or it can be fixed, but so far there is a difference. On Tue, Mar 29, 2016 at 6:08 AM, Malcolm Matalka wrote: > I've been learning about GADTs this weekend and I'm wondering if there is > any reason to not use them all the time? Or put another way, should Ocaml > have non generalized variants at all (tossing aside the legacy code thing)? > --001a11401a767bcc01052f2e4db5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
One particular practical reason:

# type t =3D= Int : int -> t | Float : float -> t [@@deriving bin_io, compare, sex= p];;
Characters 22-23:
=C2=A0 typ= e t =3D Int : int -> t | Float : float -> t [@@deriving bin_io, compa= re, sexp];;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^
bin_write_= sum: GADTs are not supported by bin_prot

I'm not sure whether it is a real limitation, or it can be fixed, = but so far there is a difference.=C2=A0


=

On Tue, Mar= 29, 2016 at 6:08 AM, Malcolm Matalka <mmatalka@gmail.com> = wrote:

I've been learn= ing about GADTs this weekend and I'm wondering if there is any reason t= o not use them all the time?=C2=A0 Or put another way, should Ocaml have no= n generalized variants at all (tossing aside the legacy code thing)?


--001a11401a767bcc01052f2e4db5--