packages feed

buildable-0.1.0.3: buildable.cabal

name:                buildable
version:             0.1.0.3
synopsis:            Typeclass for builders of linear data structures
description: {
Various linear data structures can be expensive to construct in a
repetitive fashion.  For example, to append a single value to the end
of a list is @O(n)@, and as such doing so repeatedly is recommended
against.
.
As such, to efficiently construct such structures we have the notion
of a /builder/.  This can be used to more efficiently prepend and
append values, and at the end we \"run\" the builder to construct the
overall value.
.
This module provides an abstraction over various builders for specific
data structures.  It also aims to minimise the number of functions
required to add various values to the builder by using a typeclass and
newtype wrappers.
.
To construct a value from it's builder:
.
    1. Start with either @'mempty'@ for an empty 'Builder', or if you
       have an initial value use @'fromValue'@.
.
    2. Add initial values to the front or back using 'prepend' \/ '<|'
       or 'append' \/ '|>' respectively.
.
    3. Once you've finished constructing your builder, create your
       final value with 'build'.
.
/Note/: all instances are defined for both strict and lazy
@ByteString@ and @Text@ values.
}

license:             MIT
license-file:        LICENSE
author:              Ivan Lazar Miljenovic
maintainer:          Ivan.Miljenovic@gmail.com
-- copyright:
category:            Data
build-type:          Simple
extra-source-files:  changelog
cabal-version:       >=1.10

library
  exposed-modules:     Data.Buildable
  -- other-modules:
  -- other-extensions:
  build-depends:       base >=4.6 && <4.8
                     , bytestring >= 0.10.0.0 && < 0.11
                     , containers == 0.5.*
                     , dlist >= 0.5 && < 0.8
                     , text >= 0.11.3.0 && < 1.3
  hs-source-dirs:      src
  default-language:    Haskell2010

source-repository head
    type:         darcs
    location:     http://hub.darcs.net/ivanm/buildable