From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.4 required=5.0 tests=SPF_NEUTRAL autolearn=disabled version=3.1.3 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 4BA42BC69 for ; Fri, 5 Oct 2007 10:01:30 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAABqMBUfAXQImh2dsb2JhbACOOAIBCAop X-IronPort-AV: E=Sophos;i="4.21,234,1188770400"; d="scan'208";a="17323919" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 05 Oct 2007 10:01:30 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l9581Tr6016534 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Fri, 5 Oct 2007 10:01:29 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAJOMBUfU436xnmdsb2JhbACOOAIBAQcEBhEY X-IronPort-AV: E=Sophos;i="4.21,234,1188770400"; d="scan'208";a="2408155" Received: from moutng.kundenserver.de ([212.227.126.177]) by mail2-smtp-roc.national.inria.fr with ESMTP; 05 Oct 2007 10:01:29 +0200 Received: from [84.143.39.169] (helo=st11) by mrelayeu.kundenserver.de (node=mrelayeu0) with ESMTP (Nemesis) id 0MKwh2-1Idi7k19PN-0000kM; Fri, 05 Oct 2007 10:01:28 +0200 Received: from [127.0.0.1] (localhost [127.0.0.1]) by st11 (Postfix) with ESMTP id A035629E62; Fri, 5 Oct 2007 10:01:28 +0200 (CEST) Message-ID: <4705EF58.3040605@bik-gmbh.de> Date: Fri, 05 Oct 2007 10:01:28 +0200 From: Florian Hars User-Agent: Thunderbird 1.5.0.13 (X11/20070824) MIME-Version: 1.0 To: Luca de Alfaro Cc: Inria Ocaml Mailing List Subject: Re: [Caml-list] Why can't I call a function over a subclass? References: <28fa90930710050048p3d6f4e8cs8e13d0fe49d296f2@mail.gmail.com> In-Reply-To: <28fa90930710050048p3d6f4e8cs8e13d0fe49d296f2@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V01U2FsdGVkX19RMC56ICEdOMWs4XGA0cl8ToO1jselvdLC3MJ CHhDZnoLgrfdcCvmwDkKhIYuO8biQIxLrf38y5AqgjDOmNscmd laROgJhZDH9jYp4iyWnyQ== X-Miltered: at discorde with ID 4705EF59.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; hars:01 hars:01 bik-gmbh:01 typechecker:01 enforces:01 subtypes:01 caml-list:01 consistent:02 florian:03 florian:03 subclass:03 luca:04 long:06 arguments:07 schrieb:08 Luca de Alfaro schrieb: > The absurdity continues: This is not absurd, this is the documented correct behaviuor. If *you* decide that f must only accept arguments of *exactly* type r, the typechecker enforces your decision, as it does if you decide that f may also accept subtypes of r (as long as your decisions are consistent within he type system). Yours, Florian.