At 2001-01-16 10:23, Magnus Carlsson wrote:

>You can use overloading for the definition of theValue instead:
>
>  class TheValue a where theValue :: a -> Maybe Int
>
>  instance TheValue Base    where theValue _ = Nothing
>  instance TheValue Derived where theValue x = Just (x.value)

Doesn't this imply that run-time type information is kept with the 
structs?

Consider:

d :: Derived
d = struct
 value = 3

b :: Base
b = d

idb :: Base -> Base
idb x = x

f1 = theValue d
f2 = theValue b
f3 = theValue (idb d)
f4 = theValue (idb b)

What are the values of f1, f2, f3 & f4?

-- 
Ashley Yakeley, Seattle WA


_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to