precursor-0.1.0.0: precursor.cabal
name: precursor
version: 0.1.0.0
synopsis: Prelude replacement
description:
Features
.
[No more 'String']
'String' is removed in favor of lazy 'Data.Text.Lazy.Text'.
.
[No more 'Num']
The 'Num' typeclass is now just for types which can be converted from
integer literals.
.
['Semigroup's]
'Semigroup's are now in scope by default, as well as some useful
wrappers.
.
['Semiring's]
A 'Semiring' has the operations '+' and '*', and the members 'one'
and 'zero'. 'Bool' is a 'Semiring', as is 'Integer', etc. 'Num' is
/not/ a superclass of 'Semiring'.
.
[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.>>', and
'Control.Monad.replicateM' are removed in favor of the equivalent
'sequenceA', '*>', and 'replicateA' on 'Applicative's.
.
[Fewer partial functions]
Functions like 'head', 'last', 'minimum', etc. now return 'Nothing'
when called on empty structures. 'tail' and 'init' return empty
lists when called on empty lists.
.
[Data structures]
'Map' and 'Set' (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', and 'notImplemented' 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.
homepage: https://github.com/oisdk/precursor#readme
license: MIT
license-file: LICENSE
author: Donnacha Oisín Kidney
maintainer: mail@doisinkidney.com
copyright: 2016 Donnacha Oisín Kidney
category: Prelude
build-type: Simple
-- extra-source-files:
cabal-version: >=1.10
library
hs-source-dirs: src
exposed-modules: Precursor
Precursor.Control.Functor
Precursor.Control.Applicative
Precursor.Control.Alternative
Precursor.Control.Category
Precursor.Control.Monad
Precursor.Control.State
Precursor.Control.Bifunctor
Precursor.Structure.Foldable
Precursor.Structure.Traversable
Precursor.Data.Bool
Precursor.Data.Either
Precursor.Data.Maybe
Precursor.Data.Tuple
Precursor.Data.List
Precursor.Data.Set
Precursor.Data.Map
Precursor.Algebra.Enum
Precursor.Algebra.Semiring
Precursor.Algebra.Semigroup
Precursor.Algebra.Ring
Precursor.Algebra.Monoid
Precursor.Algebra.Eq
Precursor.Algebra.Ord
Precursor.Numeric.Num
Precursor.Numeric.Integral
Precursor.Text.Text
Precursor.Text.Show
Precursor.System.IO
Precursor.Function
Precursor.Debug
Precursor.Coerce
build-depends: base >= 4.7 && < 5
, containers >= 0.5
, mtl >= 2.2
, bifunctors >= 5.4
, text >= 1.2
, bytestring >= 0.10
, text-show >= 3.4
default-extensions: NoImplicitPrelude
DefaultSignatures
RebindableSyntax
OverloadedStrings
default-language: Haskell2010
ghc-options: -Wall
-fwarn-implicit-prelude
test-suite precursor-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: base
, precursor
, QuickCheck
, doctest
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
-Wall
default-extensions: NoImplicitPrelude
default-language: Haskell2010
source-repository head
type: git
location: https://github.com/oisdk/precursor