On Sat, Jul 3, 2010 at 7:20 PM, Ivan Lazar Miljenovic <ivan.miljeno...@gmail.com> wrote: > Serguey Zefirov <sergu...@gmail.com> writes: > >>>> I cannot directly create my own class instances for them because of >>>> that. But I found that I can write Template Haskell code that could do >>>> that - those data types could be reified just fine. <snip> >>>> This is somewhat strange situation. Was it a design decision? >>> The reason that they are exported abstractly is so that you don't see >>> the internals of the data structure, because 1) you don't need to, and >>> 2) to stop you from doing anything stupid with them. >> >> I was talking about successful reification of abstract data types. >> >> That way I can do anything stupid with them. > > Why do you want to?
I believe the point is that Template Haskell can see the internal structure of a type even when the constructors are not exported. The question is whether or not that is intentional. -- Dave Menendez <d...@zednenem.com> <http://www.eyrie.org/~zednenem/> _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe