caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Nicolas Pouillard <nicolas.pouillard@gmail.com>
To: David Teller <david.teller@mlstate.com>
Cc: Jacques Carette <carette@mcmaster.ca>,
	caml-list <caml-list@inria.fr>,
	Andrej Bauer <andrej.bauer@andrej.com>
Subject: Re: [Caml-list] Defining a family of functors
Date: Wed, 28 Jan 2009 01:32:30 +0100	[thread overview]
Message-ID: <1233102370-sup-9649@ausone.local> (raw)
In-Reply-To: <1233090779.6463.10.camel@Blefuscu>

Excerpts from David Teller's message of Tue Jan 27 22:12:59 +0100 2009:
> I'd like that, too. I may be wrong but I have the impression that most
> of this can already be done with the current type system of OCaml.
> 
> Unless I'm mistaken, for first-class modules, you essentially need
> * extendable records (aka objects, good thing we already have them)

> * existential types (which may be encoded with universal types, and
> since we have universal types in classes, there may be a way to to this
> already)

The encoding of modules using existential types in non modular, this
basically means that you have to heavily transform the source.

What one need to encode modules is "open" existential types, this well
and clearly explained in this POPL'09 paper:

  «Modeling Abstract Types in Modules with Open Existential Types»,
    by Benoît Montagu and Didier Rémy

> * namespace (which I'm sure could be encoded somehow).
> 
> Now, the syntax would certainly be awful, but if I'm right it wouldn't
> take too much to get these modules into the compiler.

Kind regards,

-- 
Nicolas Pouillard


  reply	other threads:[~2009-01-28  0:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-26 15:08 Michaël Grünewald
2009-01-26 15:15 ` [Caml-list] " Jacques Carette
2009-01-27 14:30   ` Andrej Bauer
2009-01-27 14:47     ` Jacques Carette
2009-01-27 21:12       ` David Teller
2009-01-28  0:32         ` Nicolas Pouillard [this message]
2009-01-28 11:25           ` David Teller
2009-01-29  9:37             ` nicolas.pouillard
2009-01-29 10:40               ` David Allsopp
2009-01-29 21:14                 ` Mauricio Fernandez
2009-01-30  8:25                   ` Michaël Grünewald

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1233102370-sup-9649@ausone.local \
    --to=nicolas.pouillard@gmail.com \
    --cc=andrej.bauer@andrej.com \
    --cc=caml-list@inria.fr \
    --cc=carette@mcmaster.ca \
    --cc=david.teller@mlstate.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).