From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 6986BBBAF for ; Wed, 2 Jun 2010 15:43:44 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AigCADv9BUxKfVI0mGdsb2JhbACRVYtlWQgVAQEBAQEICQwHESKwH4IAhXEuiE8BAQMFhREE X-IronPort-AV: E=Sophos;i="4.53,347,1272837600"; d="scan'208";a="60491396" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail1-smtp-roc.national.inria.fr with ESMTP; 02 Jun 2010 15:43:44 +0200 Received: by wwe15 with SMTP id 15so2103633wwe.39 for ; Wed, 02 Jun 2010 06:43:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=3fakaJb2NuUhOssjGSTqRBFRDKKqty7NEDakpxn5jJs=; b=ne4QAUTX1A4+RKdMCaO0D4gyGgm+MM3WbLZfsOEIN6YSgnSilyOvO0i7UXiYZeYXEb LEdHoFARM5VIyFZjcdDYsuN66NblzRY9TMZQZ7tcqJOKmZmy4VhJ+h0PzrKRR0iVyI1a A1j0agtvOVeMGSUOn8bqiSq6/LJZTrJv+PjT4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=icrkMjGeoQIvsfXipbCEqvHFbWJ8XNAbwv/IncDrQV6TPAvhp8YOevbTjw66PmFJhR C3ZsVT8qI2SeSumWIFi0AP6ISwx3PNsnbUkWGTX6SDtDIYJ8OGvpcmVV6jyt7Q1/h+Mb dvWJ3AZ7nBeesF5umjFk6vuRITN4A37SiW7as= MIME-Version: 1.0 Received: by 10.216.85.7 with SMTP id t7mr7974wee.114.1275486212477; Wed, 02 Jun 2010 06:43:32 -0700 (PDT) Received: by 10.216.170.6 with HTTP; Wed, 2 Jun 2010 06:43:32 -0700 (PDT) In-Reply-To: <367372.3609.qm@web111501.mail.gq1.yahoo.com> References: <367372.3609.qm@web111501.mail.gq1.yahoo.com> Date: Wed, 2 Jun 2010 15:43:32 +0200 Message-ID: Subject: Re: [Caml-list] Questions concerning modules as first-class values From: Julien Signoles To: Dario Teixeira Cc: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=0016e6d77cce9c53ff04880c465b X-Spam: no; 0.00; signoles:01 signoles:01 functor:01 functor:01 higher-order:01 functors:01 frisch:01 functors:01 higher-order:01 frisch:01 W6:98 caml-list:01 functions:01 functions:01 alain:01 --0016e6d77cce9c53ff04880c465b Content-Type: text/plain; charset=ISO-8859-1 Hello, 2010/6/2 Dario Teixeira > ------------------------------------------------- > | | 0-arity | n-arity (n>0) | > ------------------------------------------------- > | Valueish | value | function | > | | | | > | Moduleish | module | functor | > ------------------------------------------------- > I disagree with your terminology. Below is the one I use: ------------------------------------------------- > | | 0-arity | n-arity (n>0) | > ------------------------------------------------- > | Value | constant | function | > | | | | > | Module | structure | functor | > ------------------------------------------------- > > Second, does the promotion of modules to first-class values also extend to > higher-order modules, ie, functors? > If I well understood what Alain Frisch and Xavier Leroy explained, modules (including both structures and functors) become first class value: structures may be converted to records and functors to functions; and conversely. But I let more informed person confirm this. -- Julien --0016e6d77cce9c53ff04880c465b Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello,

2010/6/2 Dario Teixeira <darioteixeira@yahoo= .com>
-------------------------------------------------
| =A0 =A0 =A0 =A0 =A0 =A0 =A0 | 0-arity =A0 =A0 =A0 | n-arity (n>0) | -------------------------------------------------
| Valueish =A0 =A0 =A0| value =A0 =A0 =A0 =A0 | function =A0 =A0 =A0|
| =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0 =A0 = =A0 =A0 =A0 =A0 |
| Moduleish =A0 =A0 | module =A0 =A0 =A0 =A0| functor =A0 =A0 =A0 |
-------------------------------------------------

= I disagree with your terminology. Below is the one I use:

-------------------------------------------------
| =A0 =A0 =A0 =A0 =A0 =A0 =A0 | 0-arity =A0 =A0 =A0 | n-arity (n>0) | -------------------------------------------------
| Value=A0 =A0=A0 | constant=A0 =A0 | function =A0 =A0 =A0 |
| =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0=A0=A0=A0 | = =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0=A0=A0=A0=A0 |
| Module=A0 | structure=A0 =A0=A0 | functor =A0 =A0 =A0=A0 |
-------------------------------------------------


Second, does the promotion of modules to first-class values also extend to<= br> higher-order modules, ie, functors?=A0

If I well = understood what Alain Frisch and Xavier Leroy explained, modules (including= both structures and functors) become first class value: structures may be = converted to records and functors to functions; and conversely. But I let m= ore informed person confirm this.

--
Julien

--0016e6d77cce9c53ff04880c465b--