Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Modules Types and functors.

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Modules Types and functors.


chronological Thread 
  • From: Jacek Chrzaszcz <chrzaszc AT mimuw.edu.pl>
  • To: Guillaume Dufay <Guillaume.Dufay AT sophia.inria.fr>
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] Modules Types and functors.
  • Date: Thu, 20 Feb 2003 15:45:12 +0100
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

On Wed, Feb 19, 2003 at 11:44:48AM +0100, Guillaume Dufay wrote:
> Hello,
> 
> We start playing with modules and we face the following problem. 
> Assuming we have two modules types declaration, whose one is functor type :
> 
> How do I declare a module of type bar?
> We tried the following declaration but without success.
> 

Hello,

In current implementation functor types are useful only as types of
arguments of higher order functors.

What you want is parametric module types and those are not supported yet.

A possible workaround is the following:

Module Type foo as before

Module Type bar.
  Declare Module f:foo.
  Import f.
  Parameter b:a.
End bar.


Module imp [f':foo] : bar with Module f:=f'.
  Module f:=f'.
  ....
End imp.


Jacek




Archive powered by MhonArc 2.6.16.

Top of Page