Thu, 6 Jun 2002 08:22:24 +1200
Cagdas Ozgenc writes:
| I know 2 special type constructors(there might be other that I do
| not know yet) -> and ( , ) where structural type equivalency is
| enforced and we can also create new types with an algebric type
| constructor notation where name equivalency is enforced.
| What is the rationale? I mean why 2 special type constructors, but
| not 5, or 10 or N?
| Thanks for taking time.
-> and (,) are names of type contructors, each with kind *->*->*.
Offhand, I don't see any difference in the way we'd test equivalency
involving -> or (,) or D, where:
data D a b = MkD a b
If that doesn't help, will you please give a more concrete example of
what you mean?