Dear Colleagues,
working on an update of the Curry report, I think it is necessary
to clarify or slightly change a few aspects related to the module
system which I'd like to propose in the following.
1. Currently, it is not specified where modules are stored but this
is relevant to find import modules. Therefore, I propose to state
that a module named "M" should be stored in a file named "M.curry".
I think this is already required in all current implementations of Curry.
2. As a consequence of 1., it seems reasonable that in a Curry program
stored in file "Prog.curry" with a missing module head, the default
module head "module Prog where" is inserted (currently, the report
states that in this case the standard module head "module main where"
is inserted).
3. The current report states that the prelude is always implicitly
imported into all modules. However, there are situations where
it is reasonable to hide some prelude entities which is impossible
if the prelude is always imported. Thus, I propose to state that
the prelude is always implicitly imported if it is not explicitly
imported. For instance, this allows the hiding of the prelude
operations "map" and "filter" in the current module by writing
the import declaration "import prelude hiding (map,filter)".
Please let me know if you have any objections or further improvements.
Best regards,
Michael
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Fr Jan 27 2006 - 16:17:43 CET