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 have its superclass HiddenClass in scope. Regards, Bas On Aug 17, 2013 8:10 PM, "Joachim Breitner" <m...@joachim-breitner.de> wrote: > 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 create > any instances? > > Greetings, > Joachim > > -- > Joachim “nomeata” Breitner > m...@joachim-breitner.de • http://www.joachim-breitner.de/ > Jabber: nome...@joachim-breitner.de • GPG-Key: 0x4743206C > Debian Developer: nome...@debian.org > > > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users