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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 4CE9C7EE51 for ; Mon, 29 Apr 2013 06:03:59 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of lambda.q.q@gmail.com) identity=pra; client-ip=209.85.215.45; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="lambda.q.q@gmail.com"; x-sender="lambda.q.q@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of lambda.q.q@gmail.com designates 209.85.215.45 as permitted sender) identity=mailfrom; client-ip=209.85.215.45; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="lambda.q.q@gmail.com"; x-sender="lambda.q.q@gmail.com"; 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-la0-f45.google.com) identity=helo; client-ip=209.85.215.45; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="lambda.q.q@gmail.com"; x-sender="postmaster@mail-la0-f45.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiQCAGbwfVHRVdctk2dsb2JhbABSDoYfR7sRfxYOAQEBAQcLCwkUBCSCHwEBBAEjHQE4AQMBCwEFBRoCBSECAg8BBCABBQEiE4gEAwkGBKBai2KDTIN4Jw2INwEFDIEXjUSCdoETA4kMjhKPRT+BXIIcRA X-IPAS-Result: AiQCAGbwfVHRVdctk2dsb2JhbABSDoYfR7sRfxYOAQEBAQcLCwkUBCSCHwEBBAEjHQE4AQMBCwEFBRoCBSECAg8BBCABBQEiE4gEAwkGBKBai2KDTIN4Jw2INwEFDIEXjUSCdoETA4kMjhKPRT+BXIIcRA X-IronPort-AV: E=Sophos;i="4.87,570,1363129200"; d="scan'208";a="12529983" Received: from mail-la0-f45.google.com ([209.85.215.45]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 29 Apr 2013 06:03:58 +0200 Received: by mail-la0-f45.google.com with SMTP id el20so2116248lab.18 for ; Sun, 28 Apr 2013 21:03:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type :content-transfer-encoding; bh=AnrWrSV6H7LRcOlg1kjyEkBubqbYa3W5jI2ha0an6BA=; b=G0EMdo5C/AUm6fpoDdVs6H9S8QsLKBLM8ShWMomrhtlCVcGorp3R6WqiCvTbnNQE2J iuzj8jE6wztuEvEKwZXsXe30lEiQofTlc1rqHYM+Y3MCS4qsxEP0mneCqps+Bu/uzAjW QNB0g6McHWeW9RVk9aMgGpahUfW+QNjUFjQPWkFst0aXUXmSnfTjhCBzG+pw37BxbOFL RJTdx/X9Bynh5FSFP1czuKWl1zUPL0L+rkCQuQsoL0x5wifU2+At/Zg0oZEOoEK361FJ Jh0hrJ65+EwZM03GqhFrDplJuZ79ibf2Bs7ABPKsF5yNYLfD4AdbOK+jxVOs+gHZuj6+ S+ow== X-Received: by 10.152.22.168 with SMTP id e8mr5343409laf.20.1367208237730; Sun, 28 Apr 2013 21:03:57 -0700 (PDT) Received: from golf.niidar.ru.niidar.ru ([109.188.124.94]) by mx.google.com with ESMTPSA id h2sm9030302lah.4.2013.04.28.21.03.55 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Sun, 28 Apr 2013 21:03:56 -0700 (PDT) Sender: Ivan Gotovchits From: Ivan Gotovchits To: Jacques Garrigue Cc: OCaML List Mailing References: <00C57DF0-C6F0-4EDE-8607-2155F3A17146@math.nagoya-u.ac.jp> <87a9oi9ezj.fsf@golf.niidar.ru> Date: Mon, 29 Apr 2013 08:03:50 +0400 In-Reply-To: <87a9oi9ezj.fsf@golf.niidar.ru> (Ivan Gotovchits's message of "Mon, 29 Apr 2013 07:45:36 +0400") Message-ID: <8761z69e55.fsf@golf.niidar.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Request for feedback: A problem with injectivity and GADTs Ivan Gotovchits writes: > I'm not sure that symbol '#' is a good choice. It is already used for > open types and may impose difficulties in undestanding code (and > compiler messages) when overriden. For me '#' is something polymorphic > and related to OOP.=20 > > And indeed, =C2=AB#'a=C2=BB is to perlish... Personally, I would prefer s= omething > like: > > type 'a t > constraint 'a is injective > > > P.S. the following symbols looks more =C2=ABinjective=C2=BB for me: '>', = '^', '=3D', > though the last one can be confused with the invariance. P.P.S. Here is one more: '~' as it stands for equivalence. --=20 (__)=20 (oo)=20 /------\/=20 / | ||=20=20=20 * /\---/\=20 ~~ ~~=20=20=20 ...."Have you mooed today?"...