[Haskell-beginners] Export of names only for testing

David McBride toad3k at gmail.com
Mon Oct 2 11:12:40 UTC 2017


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20171002/069f3a8a/attachment.html>


More information about the Beginners mailing list