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