precursor: Prelude replacement
Features
- No more
String
String
is removed in favor of lazyData.Text.Lazy.Text
.- 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
Control.Monad.sequence
,Control.Monad.>>
, andControl.Monad.replicateM
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.
Modules
[Index]
- Precursor
- Algebra
- Precursor.Coerce
- Control
- Data
- Precursor.Debug
- Precursor.Function
- Numeric
- Structure
- System
- Text
Downloads
- precursor-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0.0 |
---|---|
Dependencies | base (>=4.7 && <5), bifunctors (>=5.4), bytestring (>=0.10), containers (>=0.5), mtl (>=2.2), text (>=1.2), text-show (>=3.4) [details] |
License | MIT |
Copyright | 2016 Donnacha Oisín Kidney |
Author | Donnacha Oisín Kidney |
Maintainer | mail@doisinkidney.com |
Category | Prelude |
Home page | https://github.com/oisdk/precursor#readme |
Source repo | head: git clone https://github.com/oisdk/precursor |
Uploaded | by oisdk at 2016-10-26T19:03:47Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 842 total (4 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2016-10-29 [all 1 reports] |