
5 Jun
2002
5 Jun
'02
4:22 p.m.
Cagdas Ozgenc writes: | Greetings. | | 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? Regards, Tom