Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Why do we need modules anyway?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Why do we need modules anyway?


chronological Thread 
  • From: Adam Chlipala <adamc AT hcoop.net>
  • To: Chris Dams <chris.dams.nl AT gmail.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Why do we need modules anyway?
  • Date: Sat, 16 Jan 2010 07:23:12 -0500

Chris Dams wrote:
It seems writing records like list_type is about the same as writing
Modules. Moreover, they are first class citizens in the Coq language,
being Inductives with some extra destructor names for convenience. So,
why was the basic Coq language polluted with the seemingly useless
concept of modules?

There are certainly ways to make Coq's module system more useful, but I wouldn't call it useless. You get the automatic support for "subtyping" that comes from module signature ascription. It's also useful to work with second-class constructs in many cases; they are intrinsically easier to understand, because the reader knows you can do fewer things with them. Finally, there are commands like [Import] that only work on modules, though a similar command could certainly be implemented for records.



Archive powered by MhonArc 2.6.16.

Top of Page