Thu, 4 Nov 1999 09:47:27 +0100 (MET), Koen Claessen <[EMAIL PROTECTED]> pisze:

>   data Expr a = Val a | forall b . Apply (b -> a) b

For me it's isomorphic to
    data Expr a = Val a | Applied a
if only we ignore the seq function. Because the only way you could
use an `Apply x y', except passing its components around and applying
seq to them, is to apply x to y yielding something of a known type,
so it's just as we already had the result of the application.

>   data Action = forall b . Act (IORef b) (b -> IO ())

Yes, I think that here existential is unavoidable.

-- 
 __("<    Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
 \__/          GCS/M d- s+:-- a22 C+++>+++$ UL++>++++$ P+++ L++>++++$ E-
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-

Reply via email to