I do not know of a specific definition, but I think the heuristic for inclusion in Data is that which is neither control nor chaos.

By 'control' I mean functions that are often "baked into" other languages, such as exception handling, bracketing, but which can be implemented as library functions in Haskell.

By 'chaos', I mean anything specialized to a particular field (e.g., biology, physics), even if it be part of computer science, e.g., software management, computer graphics.

What's left are data types and structures that are ubiquitous (e.g., lists, sets, maps), essential for basic communication (e.g., characters, text, encryption, serialization, persistence) or language (but not compiler) specific (e.g., reflection, dynamic typing, generics).


On Mon, Aug 22, 2011 at 9:50 AM, David Fox <ddssff@gmail.com> wrote:
I'm never quite sure what the distinction is that defines the modules
under Data.*.  Can anyone explain?

-david

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