[Haskell-cafe] Type families in export lists
Lee Duhem
lee.duhem at gmail.com
Sun May 31 07:23:43 EDT 2009
On Sun, May 31, 2009 at 7:10 PM, Manuel M T Chakravarty
<chak at cse.unsw.edu.au> wrote:
> Lee Duhem:
>>
>> On Sat, May 30, 2009 at 7:35 PM, Maurí cio <briqueabraque at yahoo.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> How do I include type families (used as associated
>>> types) in a module export list? E.g.:
>>>
>>> class MyClass a where
>>> type T a :: *
>>> coolFunction :: Ta -> a
>>> (...)
>>>
>>> If I just include MyClass and its functions in the
>>> list, instances in other modules complain they don't
>>> know T, but I wasn't able to find how (where) to
>>> include T in the list.
>>>
>>
>> In export list, you can treat 'type T a' as normal type declaration, ie,
>> write
>> T(..) in export list.
>
> There is also special syntax to export associated types. You can write
>
> MyClass (type T)
>
> in the export list; cf,
>
> http://haskell.org/haskellwiki/GHC/Type_families#Import_and_export
>
This is a better way.
lee
More information about the Haskell-Cafe
mailing list