Paul and Phil write,
| What are the disadvantages of having a lifted function space?
|
| I think the main one is that we lose unrestricted eta
| conversion. But maybe that's not such a big deal either.
|
| We keep claiming that functional languages are good because they
| satisfy lots of laws. Then we say the laws aren't important.
It is obvious that eta conversion (\x -> f x = f) is only valid for function
values; it is just a question of whether you regard _|_ as a function value.
The situation is similar to booleans, where the familiar laws of logic hold
for {True,False}, but not when you include _|_. It is not reasonable to have
unlifted booleans, is it? Which value would you choose to identify _|_ with?:-)
Ian [EMAIL PROTECTED], Tel: 0272 303334