Juan Carlos González Moreno schrieb:
> But if there is several examples that
> show me that is better to
> understand that the "a" is a new constructor, please send me to study
> them.
Essentially, it is better to understand "a" as a new constructor, as it
stands at a place where no type variable might stand due to the rules of
Curry syntax.
Do you also think that in the following program
module M where
data D = M E
there should be an error, because "M" is the name of a module? And how about
data A = A
which would also be an error if there was not the concept of different
name spaces.
In general there are the following name spaces:
- module names
- constructor/function names
- type constructor names
Did I forget anything? By definition, different name spaces may contain
the same name. Do you think that concept is not useful?
> Sorry, but if 1) is considered valid then i don't understand nothing
> about how it is
> implemented the type system declaration, because b is not previously
> declared as data type, and
> accept this line it is equivalent for me to the following (extended
> declaration):
I agree and I think the comment about existential types
was not so very helpful for the discussion.
Greetings,
Bernd
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Di Okt 30 2007 - 10:48:07 CET