License | MIT |
---|---|
Maintainer | mail@doisinkidney.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Precursor
Description
Features
- No more
String
String
is removed in favor of lazyText
.- No more
Num
- The
Num
typeclass is now just for types which can be converted from integer literals. Semigroup
sSemigroup
s are now in scope by default, as well as some useful wrappers.Semiring
s- A
Semiring
has the operations+
and*
, and the membersone
andzero
.Bool
is aSemiring
, as isInteger
, etc.Num
is not a superclass ofSemiring
. - Sensibly strict
- Several functions, such as
foldl
,sum
,product
, etc. are strict as default. - No unnecessary
Monad
s - Functions such as
sequence
,>>
, andreplicateM
are removed in favor of the equivalentsequenceA
,*>
, andreplicateA
onApplicative
s. - Fewer partial functions
- Functions like
head
,last
,minimum
, etc. now returnNothing
when called on empty structures.tail
andinit
return empty lists when called on empty lists. - Data structures
Map
andSet
(the strict variants) are now in scope by default, with a minimal, non-colliding aliased api.- Transformers
State
is now in scope by default.- Debugging
- Handy functions like
trace
,traceShow
, andnotImplemented
are in scope by default. They give warnings when used so they can't be forgotten. - Other handy functions
- An O(n*log n)
nub
,foldr2
,converge
,bool
, and others.
Documentation
module Precursor.Algebra.Enum
module Precursor.Algebra.Eq
module Precursor.Algebra.Monoid
module Precursor.Algebra.Ord
module Precursor.Algebra.Ring
module Precursor.Algebra.Semigroup
module Precursor.Algebra.Semiring
module Precursor.Coerce
module Precursor.Control.Bifunctor
module Precursor.Control.Category
module Precursor.Control.Functor
module Precursor.Control.Monad
module Precursor.Control.State
module Precursor.Data.Bool
module Precursor.Data.Either
module Precursor.Data.List
module Precursor.Data.Map
module Precursor.Data.Maybe
module Precursor.Data.Set
module Precursor.Data.Tuple
module Precursor.Debug
module Precursor.Function
module Precursor.Numeric.Integral
module Precursor.Numeric.Num
module Precursor.Structure.Foldable
module Precursor.System.IO
module Precursor.Text.Show
module Precursor.Text.Text