|Re: Appropriate methods for argument checking email@example.com (Dara Gallagher) (1996-07-31)|
|Re: Appropriate methods for argument checki firstname.lastname@example.org (1996-08-05)|
|Re: Appropriate methods for argument checki email@example.com (Robert Harper) (1996-08-09)|
|From:||firstname.lastname@example.org (David Chase)|
|Date:||5 Aug 1996 00:29:44 -0400|
Dara Gallagher <email@example.com> () writes:
> I'm not really sure, but it looks like you're confusing
> parametric polymorphism with existential types. I.e.
> you seem to be referring to (using your C [-like] syntax)
> T (*f)(T) <for some type T>
> rather than parametric polymorphism or
> T (*f)(T) <for all types T>
Yes, you are entirely correct. I was fooled by the type "parameter",
and somehow thought that this made the polymorphism "parametric". Was I
otherwise correct in my understanding of how this relates to seemingly
"covariant" typing? Is there a good, easy reference for this sort of
thing, perhas with examples relating things like parametric polymorphism
to how languages other than the lambda calculus might be modified and/or
used? I find that type theory is quite hard, even though I know that
I make implicit use of it when designing reusable code in C and Scheme.
And looking at most recently designed languages, I'm pretty sure that
most other people would find type theory hard, if they bothered to try
to study it.
speaking for myself,
Return to the
Search the comp.compilers archives again.