Brian,
I read the easy parts of the "Associated Types with Class" and
"Associated Type Synonyms" papers. An associated type synonym seems
to kind of work similarly to a restricted form of class. In what
way are the two following examples different?
-- define a class with a type synonym, and a set of operations
class A a where
type B b
foo :: a -> B b
instance A Int where
type B = Bool
foo = (==0)
-- define two classes, and an function that .
class A a, B b where
foo :: a -> b
instance A Int, B Bool where
foo = (==0)
It is more like -- using multi-parameter type classed with functional
dependencies (as found, for example, in GHC):
class A a b | a -> b where
foo :: a -> b
instance A Int Bool where
foo = (== 0)
Cheers,
Stefan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe