If you don't export the methods but do use DefaultSignatures for them in terms
of a GHC.Generics version of the class that also works in many cases.
Sent from my iPhone
On Aug 17, 2013, at 2:08 PM, Joachim Breitner wrote:
> Hi,
>
> for some reason I was under the impression that if I don’t ex
My usual variant of this is to use
class Foo' a
class Foo' a => Foo a
instance Foo' a => Foo a
and not export Foo'
Sent from my iPhone
On Aug 17, 2013, at 2:34 PM, Bas van Dijk wrote:
> Hi Joachim,
>
> I used the following in the past:
>
> module M (PublicClass(..)) where
>
> class Hidden
Do you mean GeneralizedNewtypeDeriving?
Отправлено с iPad
17.08.2013, в 23:49, Joachim Breitner написал(а):
> Hi,
>
> Am Samstag, den 17.08.2013, 20:34 +0200 schrieb Bas van Dijk:
>> I used the following in the past:
>>
>> module M (PublicClass(..)) where
>>
>> class HiddenClass a
>>
>> cla
Hi,
Am Samstag, den 17.08.2013, 20:34 +0200 schrieb Bas van Dijk:
> I used the following in the past:
>
> module M (PublicClass(..)) where
>
> class HiddenClass a
>
> class HiddenClass a => PublicClass a where
> ...
> ...
>
> Now users of M can't declare instances of PublicClass because t
Hi Joachim,
I used the following in the past:
module M (PublicClass(..)) where
class HiddenClass a
class HiddenClass a => PublicClass a where
...
instance HiddenClass SomeType
instance PublicClass SomeType where
...
Now users of M can't declare instances of PublicClass because they don't
Hi,
for some reason I was under the impression that if I don’t export the
methods of a class, then no user of my module can create instances. But
I was wrong and in fact they can; the methods will just all be bound to
"error ...".
Is there really no way to create a class so that no-one else can c