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