Simon notes that lifted functions prevent certain optimisations, and
then Joe wonders if lifting tuples prevents optimisations.  Arvind has
already answered this question.  Unlifted tuples satisfy the type
isomorphism

        (a,(b,c))  =  (a,b,c)

which is heavily used for optimising Id, but is invalid if tuples are
lifted as in Haskell.  Furthermore, only unlifted tuples satisfy the
type isomorphism

        a -> b -> c  =  (a,b) -> c

Just for sentimental reasons, I would like this last to hold in a
language named for Haskell Curry.  -- P

Reply via email to