packages feed

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