Then we say "the argument occurs in both positive and negative
positions" or "the argument occurs in both covariant and contravariant
positions". There doesn't seem to be a shorter name. I want to note that
this kind of thing drives OOP crazy.

i recall this paper being of some help:-)

   http://citeseer.ist.psu.edu/castagna94covariance.html
   Covariance and Contravariance: Conflict without a Cause (1994)
   Giuseppe Castagna
   ACM Transactions on Programming Languages and Systems

I know that types like

data T = T (T -> T)

are inhabitated by things other than bottom (like id or \_ ->
undefined), but can it be useful for *anything*?

you are in good company with that kind of question.

have a look at Dana Scott's Turing Award paper for some personal notes on how he set out to show Christopher Strachey "that he was all wrong.. it [lambda-calculus] was a formal device.. it had no mathematical basis.. I had actually convinced him by 'superior logic' to give up the type-free lambda-calculus", followed by "once the doubt .. was there, it was not long before I had found one of the spaces isomorphic with its own function space, which provides a model of the 'type-free' lambda-calculus".

http://awards.acm.org/citation.cfm?id=3562254&srt=all&aw=140&ao=AMTURING

claus

_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to