Skip to main content

Standard library

The bundled Prelude loads automatically unless the CLI uses --no-prelude. Other library modules require an explicit import. Collection updates return new values, so older values remain usable.

When a module graph imports one of these modules, include both the application root and the standard-library root. From the repository checkout:

cabal run jazz -- --run --entry-module App::Main \
--module-root path/to/app --module-root jazz/stdlib

Complexity statements describe logical Jazz operations. Callback cost is excluded unless a page states otherwise.

Data

  • Maybe — optional values.
  • Result — successful values and recoverable errors.
  • NonEmpty — lists with a statically present first value.

Collections

  • List — total access, transformation, folds, grouping, and sorting.
  • Dictionary — insertion-ordered lookup with Eq keys.
  • Queue — persistent first-in, first-out traversal.
  • Map — ordered key-value storage with Ord keys.
  • Set — persistent ordered unique values.

Text

  • Char — Unicode scalar conversion and classification.
  • Text — immutable Unicode-scalar text processing.

System

  • IO — files, streams, arguments, and process exit.
  • IOError — stable error categories and values.