[Haskell-cafe] Re: Unexported functions are evil

Iavor Diatchki iavor.diatchki at gmail.com
Tue May 17 16:15:06 EDT 2005


Hello,

On 17 May 2005 12:09:35 +0200, Peter Simons <simons at cryp.to> wrote:
> Iavor Diatchki writes:
> 
>  > [...] in practice this is likely to often lead to
>  > recursive modules [...]
> 
> Why is that? My intuition would say that the exact opposite
> is true: a more fine-grained set of modules is _less_ likely
> to require recursive modules. But that's just intuition. Do
> you have an concrete example which illustrates this point?

The smaller the modules are the more likely it is that they will end
up being recursive.  To see that, consider the extreme where every
function is in a separate module, then all recursive groups of
functions will end up being recursive groups of modules.   As a more
practical example consider a file A.hs that defines some data type T
and exports a function "f" that is defined in terms of a private
function "g".  Now if we place "g" in a file called "Private.hs" then
A needs to import Private, but also "Private" needs to import "A" for
the definition of "T".

-iavor


More information about the Haskell-Cafe mailing list