Paul writes,

        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.

On the other hand, Paul may be right.  Haskell doesn't satisfy
the currying law, of all things (the types (a,b)->c and
a->b->c are not isomorphic, thanks to tuple lifting).  Has this
caused anyone grief?

Are there laws that are important, and others than are unimportant,
and if so is there a way to distinguish?

In the absence of convincing answers, I'd rather have as many laws
as possible, hence my preference for unlifted tuples and products.
But I'd be interested to see a convincing answer.

Cheers,  -- P

Reply via email to