Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Leveraging the module system

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Leveraging the module system


chronological Thread 
  • From: "M. Scott Doerrie" <mdoerri AT cs.jhu.edu>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club] Leveraging the module system
  • Date: Fri, 30 Jan 2009 16:15:38 -0500
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

I have defined a ModuleType functor and a Module functor somewhat as follows.

For discussion assume SIG2 is a Module Type.

Module Type SIG (P: SIG2).

Parameter foo : P.t -> Prop.

End SIG.


Module Impl (P:SIG2).

Definition foo (P:t) : Prop :=  (* implementation *).

End Impl


I can't determine how to declare that Impl is of type SIG? Use of <: and : operators produce syntactic error messages. I'm sure this is a simple example, but I am confused by what I thought was straightforward to express.

Scott Doerrie





Archive powered by MhonArc 2.6.16.

Top of Page