Skip to content

Improve base library synopsis and description

After collecting feedback from newcomers, and experienced users, I would like to bring some changes to the synopsis and description of the base library.

Several problems have been noted:

  • In terms of terminology, "library" is used in an antiquated way. If "library" meant at the time of the Report what we call module today, it is now a term that we use to talk about a type of component in a package (other types of components being executable, test suite, benchmark suite, foreign library).
  • As such, "Basic libraries" manages in two words to be redundant (base is basic, fantastic, what else is new?) and misleading (there is only one library in this package, it is the eponymous base).
  • "This package contains the Standard Haskell Prelude and its support libraries": Ah, a new term is introduced: "package". It is unclear how it relates to libraries. Since it's a container of libraries, it refers to a different level of abstraction, and thus should be removed. Package management is best explained in the cabal documentation.
  • "a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities." is not true, the data structures are actually quite limited since people find themselves reaching out to containers and text quite rapidly. Debugging utilities is also misleading, since only Debug.Trace inhabits the Debug namespace. Parser combinators are often seen as peculiar here, since parsec is touted as the standard parser combinator library in our ecosystem.

cf a rendering of the proposed changes:

image

Merge request reports