What I usually do in such a case is create a separate internal
module. The internal module exports everything. Then create a
module which defines the public interface. This module simple
reexports symbols from the internal module. Now you can create a
Test module which has full access to all internal symbols.

module Internal where
a = 1
b = 2
secret = 42

module Public ( a, b ) where
import Internal ( a, b )

module Test where
import Internal ( secret )
test = assert $ isUltimateAnswer secret



On Wed, Feb 24, 2010 at 10:17 AM, Magnus Therning <mag...@therning.org> wrote:
> How do people who like unit testing / property testing deal with export lists?
>
> I often find that I do want an export list to reduce clutter in the
> finished code, but for testing I'd like to expose everything in a
> module.  Is there a nice way to deal with this (using the C
> pre-processor would not qualify as "nice" ;-)?
> Maybe there's a switch that causes GHC to simply ignore the export
> list of a module and export everything?
>
> /M
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to