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 nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 785C2BB9C for ; Tue, 22 Nov 2005 12:37:51 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAMBbpVA013988 for ; Tue, 22 Nov 2005 12:37:51 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA08337 for ; Tue, 22 Nov 2005 12:37:50 +0100 (MET) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.194]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jAMBbnX0030787 for ; Tue, 22 Nov 2005 12:37:50 +0100 Received: by xproxy.gmail.com with SMTP id s14so938093wxc for ; Tue, 22 Nov 2005 03:37:49 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:mime-version:content-transfer-encoding:message-id:content-type:to:subject:date:x-mailer:from; b=QSwnJMuGagZ17CZIMynDGKR+8rRn3GvtMxFZUznqqjPTTuYrYi2yyJzU9XWN5Nu9WUpjKV624kk5PB2i0XtX3N68s3Z0AHTUbW+9KTZBM5olb6pPLLmZjsMU9Ek8WuPPDKoJU2PutYGfKKwTgYQh1GM3lxB5d9jHP0QnRBOmTJw= Received: by 10.65.148.6 with SMTP id a6mr4448446qbo; Tue, 22 Nov 2005 03:37:49 -0800 (PST) Received: from ?157.169.10.178? ( [157.169.10.178]) by mx.gmail.com with ESMTP id q15sm1591959qbq.2005.11.22.03.37.48; Tue, 22 Nov 2005 03:37:49 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <5FABF242-1101-4499-8CF5-CF1559F6EECC@essi.fr> Content-Type: text/plain; charset=US-ASCII; format=flowed To: caml-list@inria.fr Subject: covariance newb question Date: Tue, 22 Nov 2005 12:37:46 +0100 X-Mailer: Apple Mail (2.746.2) From: Christophe Papazian X-Miltered: at nez-perce with ID 4383030F.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 4383030D.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; covariance:01 christophe:01 christophe:01 val:01 val:01 int:01 int:01 parameter:02 parameter:02 covariant:02 covariant:02 seems:03 let:03 let:03 definition:07 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 # type +'a t = 'a -> 'a;; In this definition, expected parameter variances are not satisfied. The 1st type parameter was expected to be covariant, but it is invariant But type t seems to be covariant : # let f : 'a t = (fun x -> x);; val f : 'a t = # let g : int t = f;; val g : int t = Is there something wrong in my thought ? thank you, Christophe Papazian