[Haskell-beginners] Export of names only for testing

Baa aquagnu at gmail.com
Mon Oct 2 12:56:43 UTC 2017


Thank you, David!

> All I can give are examples.  These have single Internal modules.
> 
> https://hackage.haskell.org/package/text-1.2.2.2/docs/Data-Text-Internal.html
> https://hackage.haskell.org/package/aeson-1.2.2.0/docs/Data-Aeson-Internal.html
> https://hackage.haskell.org/package/pipes-4.3.5/docs/Pipes-Internal.html
> https://hackage.haskell.org/package/reflex-0.4.0/docs/Reflex-Spider-Internal.html
> 
> whereas opaleye for example has an entire Internal hierarchy.
> 
> https://hackage.haskell.org/package/opaleye-0.6.0.0
> 
> On Mon, Oct 2, 2017 at 6:49 AM, Baa <aquagnu at gmail.com> wrote:
> 
> > > It is common to export an Foo.Internal module that has the
> > > internals of your library in it, with a doc at the top that this
> > > is meant for internal use.  It can be used both for testing and
> > > sometimes the user of your library can do something with it you
> > > didn't think of if he has access to the internals.  
> >
> > Hm, but if I have 10 modules in src/ (m1.hs, ..., m10.hs) I must
> > create, for example 10 folders like src/m1/, ..., src/m10/ and
> > their individual M*.Internal module, right? So, `m1`, for example,
> > becomes:
> >
> >   src/
> >     m1/
> >       Internal.hs
> >       All.hs
> > ?
> >
> > And `All.hs` imports and re-exports module (or its part only)
> > `Internal.hs`? Something like this?
> >
> >
> > ===
> > Best regards, Paul
> > _______________________________________________
> > Beginners mailing list
> > Beginners at haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> >  



More information about the Beginners mailing list