Main module that reexports all functionality allowed to use without
importing any other modules. Just add next lines to your module to
replace default
Prelude with better one.
{-# LANGUAGE NoImplicitPrelude #-}
import Universum
This documentation section contains description of internal module
structure to help navigate between modules, search for interesting
functionalities and understand where you need to put your new changes.
Functions and types are distributed across multiple modules and
grouped by meaning or
theme. Name of the module should give you
hints regarding what this module contains. Some
themes contain
a great amount of both reexported functions and functions of our own.
To make it easier to understand these huge chunks of functions, all
reexported stuff is moved into separate module with name
Universum.SomeTheme.Reexport and our own functions and types
are in
Universum.SomeTheme.SomeName. For example, see modules
Universum.Container.Class and
Universum.Container.Reexport.
Below is a short description of what you can find under different
modules:
- Universum.Applicative: reexports from
Control.Applicative and some general-purpose applicative
combinators.
- Universum.Base: different general types and type
classes from base package (Int, Num,
Generic, etc.) not exported by other modules.
- Universum.Bool: Bool data type with different
predicates and combinators.
- Universum.Container: Foldable replacement,
types from containers and unordered-containers and
vector packages.
- Universum.Debug: trace-like debugging
functions with compile-time warnings (so you don't forget to remove
them)
- Universum.DeepSeq: reexports from
Control.DeepSeq module and functions to evaluate expressions to
weak-head normal form or normal form.
- Universum.Exception: reexports
Control.Exception.Safe from safe-exceptions package,
bug as better error, Exc pattern synonym for
convenient pattern-matching on exceptions.
- Universum.Function: almost everything from
Data.Function module.
- Universum.Functor: reexports from
Data.Functor, Data.Bifunctor, other useful
Functor combinators.
- Universum.Lifted: lifted to MonadIO functions
to work with console, files, IORefs, MVars, etc.
- Universum.List: big chunk of Data.List,
NonEmpty type and functions for this type (head,
tail, last, init).
- Universum.Monad: monad transormers, combinators for
Maybe and Either.
- Universum.Monoid: reexports from Data.Monoid
and Data.Semigroup.
- Universum.Nub: better versions of nub
function for list.
- Universum.Print: polymorphic putStrLn
function and functions to print Text.
- Universum.String: reexports from text and
bytestring packages with conversion functions between
different textual types.
- Universum.TypeOps: convenient and fancy type-level
operators.
- Universum.Unsafe: unsafe functions (produce
error). Not exported by Universum module by
default.
- Universum.VarArg: variadic composition operator
....