From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA06536; Mon, 29 Apr 2002 17:28:55 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 RAA06532 for ; Mon, 29 Apr 2002 17:28:54 +0200 (MET DST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g3TFSsf28323 for ; Mon, 29 Apr 2002 17:28:54 +0200 (MET DST) Received: (from fpottier@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA06528 for caml-list@inria.fr; Mon, 29 Apr 2002 17:28:53 +0200 (MET DST) Date: Mon, 29 Apr 2002 17:28:53 +0200 From: Francois Pottier To: caml-list@inria.fr Subject: Re: [Caml-list] Polymorphic Variants and Number Parameterized Types Message-ID: <20020429172853.A6314@pauillac.inria.fr> Reply-To: Francois.Pottier@inria.fr References: <3CCD55BD.6DB352F5@ps.uni-sb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 1.0i In-Reply-To: <3CCD55BD.6DB352F5@ps.uni-sb.de>; from rossberg@ps.uni-sb.de on Mon, Apr 29, 2002 at 04:16:29PM +0200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi, > Note that Russo showed [1] that you can actually get rid of dependent > typing and interpret ML modules (without nested signatures) as a lambda > calculus with higher-order polymorphism (i.e., definitely not > simply-typed). The basic idea is to view functors as functions > polymorphic over their type arguments. This interesting idea was also developed by Mark Jones: @InProceedings{jones-96, author = "Mark P. Jones", title = "Using Parameterized Signatures to Express Modular Structure", booktitle = "Proceedings of the 23rd {ACM} Symposium on Principles of Programming Languages", publisher = "ACM Press", month = jan, year = "1996", address = "St. Petersburg Beach, Florida", note = "\url{http://www.cse.ogi.edu/~mpj/pubs/paramsig.html}", } as well as (in a couple of much more technical papers) by Zhong Shao. > In this setting, adding abstract signatures would at least require adding > polymorphic kinds, I believe. What do you mean? In this encoding, modules are only records, so module types are ordinary types, and there is no distinction between ordinary abstract types (introduced by explicit polymorphic abstraction) and ``abstract signatures''. There is, as far as I can tell, no need for kind polymorphism. -- François Pottier Francois.Pottier@inria.fr http://pauillac.inria.fr/~fpottier/ ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners