
31 Jan
2006
31 Jan
'06
5:35 a.m.
On Mon, 2006-01-30 at 18:20 -0800, John Meacham wrote:
so if I understand this proposal properly, it would mean the following
every single parameter type class whole parameter is of kind * class Foo a where
automatically declares a data type defined as
perhaps semi-automatically? class Foo a where ... ... deriving data Foo
data Foo = exists a . Foo a => Foo_ a (where Foo_ is some internal, non user accessable name)
and an instance
instance Foo Foo where method (Foo_ x) = method x ...
this all seems quite nice, I really like it, we can always determine whether a name is a class or type from context (I think the only reason the namespaces are combined is due to import/export lists)
Duncan