Open luochen1990 opened 5 years ago
This kind of question is better asked on Coq's Discourse forum at https://coq.discourse.group.
The module chapter of the reference manual is pretty horrible indeed as it is only about typing rules.
Any progress on this matter? It seems that most books on coq covers little about module and build......
- How can I find a module I want? by name? by type? via google? is there a site similar to hoogle for haskell ?
- How to use an existing module I found? what's the different between Import/Require?
- What is the relationship between Module and Scope?
- How does Coq organize it's internal modules? what is the principle?
It seems to me that:
I have finished the practices of
sf/lf
and part ofsf/plf
, and I'm familiar with many other language's module system, such as haskell/python/javascript, but still can't grasp Coq's module system, I think it is the most complex one.To learn Coq's module system, I read the following resources:
First is the official doc, it's all about definition of abstract noun and formulas, and tells nothing about the situation and usage. I felt helpless.
Then I go to the wiki, it start with telling me how to write my own module. but why I need to write a module for just min and max, and what is the name
Sig
for? and why there isutf8
?The most important things is, I still have a lot of basic problems about Coq's modules, but these tutorial tells nothing about them, e.g.
I think there should be a better ModuleSystemTutorial which focus on "how to use modules" instead of "how to write modules", I think it will help Coq newbies a lot and make them fell less helpless.