Copyright | © Yghor Kerscher, 2016 |
---|---|
License | BSD-3 |
Maintainer | kerscher@acm.org |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
The Haskell Report specifies the Prelude with a minimal amount of definitions that are always available in scope for application writers. Due to its simplicity and frugality, multiple alternatives and support libraries were devised to improve upon it, including:
Preliminaries
is one of such alternatives and builds upon classy-prelude, with the following functionality out-of-the-box:
- Data manipulation — i.e. microlens
- Streaming
- Concurrency
- Parallelism
- Read-only, write-only and read-write environments — i.e. mtl
To use it, put the following on your .cabal
file, ignoring the “…” for ommited parts:
… default-extensions: NoImplicitPrelude build-depends: preliminaries >= 0.1.1 < 2
And on each file, add import Preliminaries
.
You might also want to look at this project’s Cabal file to check on useful GHC extensions to enable alongside this change. In case something does not build or you find other unpleasant aspects of the library, please contact the maintainer.
- module Lens.Micro.Platform
- module Lens.Micro.Contra
- module Data.Conduit.Async
- module Data.Conduit.TQueue
- module Control.Monad.Par
- parFork :: Par () -> Par ()
- parNew :: Par (IVar a)
- parNewFull :: NFData a => a -> Par (IVar a)
- parGet :: IVar a -> Par a
- parPut :: NFData a => IVar a -> a -> Par ()
- parSpawn :: NFData a => Par a -> Par (IVar a)
- parParMap :: (Traversable t, NFData b, ParFuture iv p) => (a -> b) -> t a -> p (t b)
- module Control.Monad.Parallel
- module Control.Parallel
- module Control.Parallel.Strategies
- thru :: a -> Strategy a -> a
- module Control.Monad.Reader
- module Control.Monad.State.Lazy
- module Control.Monad.Writer.Lazy
- module ClassyPrelude.Conduit
- module Data.Biapplicative
- module Data.Bifoldable
- module Data.Bitraversable
- module Data.MonoTraversable.Instances
- type ($) f x = f x
Data manipulation
module Lens.Micro.Platform
module Lens.Micro.Contra
Concurrency
module Data.Conduit.Async
module Data.Conduit.TQueue
Parallelism
module Control.Monad.Par
module Control.Monad.Parallel
module Control.Parallel
module Control.Parallel.Strategies
Environments
module Control.Monad.Reader
module Control.Monad.State.Lazy
module Control.Monad.Writer.Lazy
Re-exports
module ClassyPrelude.Conduit
module Data.Biapplicative
module Data.Bifoldable
module Data.Bitraversable