From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 25A43BC48 for ; Sat, 9 Apr 2005 05:16:20 +0200 (CEST) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.196]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j393GJ3Y013585 for ; Sat, 9 Apr 2005 05:16:19 +0200 Received: by zproxy.gmail.com with SMTP id 40so576804nzk for ; Fri, 08 Apr 2005 20:16:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=IOHRW/kKBqDna+rBJnMWB2EN5qWnKtBr2823nyl1kG550/Ixh9Vmd7oUaFm+m83Yu/KACwj41Q4JeLWn9wIsbFnj/3xu0SZrbp2L4W+9DDflm/PWZpOi3+0ZzND79WKrD4ERlvxaz9p6htxXUQrpKU7X1XvDoHJvyavgfWZQFo4= Received: by 10.36.96.8 with SMTP id t8mr116605nzb; Fri, 08 Apr 2005 20:16:18 -0700 (PDT) Received: by 10.36.101.14 with HTTP; Fri, 8 Apr 2005 20:16:18 -0700 (PDT) Message-ID: Date: Fri, 8 Apr 2005 23:16:18 -0400 From: Eijiro Sumii Reply-To: Eijiro Sumii To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] ambitious proposal: polymorphic arithmetics Cc: Jon Harrop In-Reply-To: <200504090358.38088.jon@ffconsultancy.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit References: <20050406.111505.68543084.eijiro_sumii@anet.ne.jp> <200504090358.38088.jon@ffconsultancy.com> X-Miltered: at nez-perce with ID 42574903.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; eijiro:01 sumii:01 eijiro:01 sumii:01 caml-list:01 ...:98 ...:98 equality:01 polymorphic:01 polymorphic:01 abstract:01 types:02 perhaps:03 perhaps:03 inclusion:03 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.2 X-Spam-Level: > I'm just curious, but what would you have expected the result of: > > # (1, 2, 3) * (2, 3, 4);; > > to be? i.e. an inner product, element-wise multiplication or an outer product? Right, it is one of the difficult cases, but in general I just had simple element-wise operations (of type 'a -> 'a -> 'a) in mind. > > If so, I can perhaps restate my question as: why is the line drawn between = > > and + now? > > I would say that polymorphic comparisons are useful in many more circumstances > than polymorphic arithmetics would be, so their inclusion is justified. Yes, I agree polymorphic equality can be more useful in practice, though I'm not very sure about polymorphic inequalities (perhaps except for the purpose of ordering when implementing containers such as sets, trees, ...), in particular concerning abstract types as somebody else mentioned...? Eijiro