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

Reply via email to