On Mar 19, 2007, at 9:56 AM, Henning Thielemann wrote:


On Mon, 19 Mar 2007, Fawzi Mohamed wrote:

A practice I've seen a lot in small- to mid-sized programs is to have
a Types module that contains definitions of the types used in the
program.

ok I will think about it

I'd avoid that and suggest a more decentralized design, where each module
contributes one main type and according functions.

I'd just like to mention that I've used the central "Types" module myself on occasion. The main reason is to avoid the need for mutually recursive modules, and not because its a particularly nice design. I try to arrange the user-visible API around some coherent organizing principle, such as the one Henning proposes, but that sometimes leads to module dependency cycles; factoring out a Types module is one way to break the cycles.



Rob Dockins

Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
          -- TMBG



_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to