Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
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 fromcontainers
andunordered-containers
andvector
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 bettererror
,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,IORef
s,MVar
s, 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
andEither
. - 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 printText
. - Universum.String: reexports from
text
andbytestring
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
...
.
- module Universum.Applicative
- module Universum.Base
- module Universum.Bool
- module Universum.Container
- module Universum.Debug
- module Universum.DeepSeq
- module Universum.Exception
- module Universum.Function
- module Universum.Functor
- module Universum.Lifted
- module Universum.List
- module Universum.Monad
- module Universum.Monoid
- module Universum.Nub
- module Universum.Print
- module Universum.String
- module Universum.TypeOps
- module Universum.VarArg
- module Lens.Micro
- module Lens.Micro.Mtl
Reexports from base and from modules in this repo
module Universum.Applicative
module Universum.Base
module Universum.Bool
module Universum.Container
module Universum.Debug
module Universum.DeepSeq
module Universum.Exception
module Universum.Function
module Universum.Functor
module Universum.Lifted
module Universum.List
module Universum.Monad
module Universum.Monoid
module Universum.Nub
module Universum.Print
module Universum.String
module Universum.TypeOps
module Universum.VarArg
Lenses
module Lens.Micro
module Lens.Micro.Mtl