packages feed

foundation-0.0.1: foundation.cabal

Name:                foundation
Version:             0.0.1
Synopsis:            Alternative prelude with batteries and no dependencies
Description:
    A custom prelude with no dependencies apart from base.
    .
    This package has the following goals:
    .
    * provide a base like sets of modules that provide a consistent set of features and bugfixes across multiple versions of GHC (unlike base).
    .
    * provide a better and more efficient prelude than base's prelude.
    .
    * be self-sufficient: no external dependencies apart from base.
    .
    * provide better data-types: packed unicode string by default, arrays.
    .
    * Better numerical classes that better represent mathematical thing (No more all-in-one Num).
    .
    * Better I/O system with less Lazy IO
    .
    * Usual partial functions distinguished through type system
License:             BSD3
License-file:        LICENSE
Copyright:           Vincent Hanquez <vincent@snarc.org>
Author:              Vincent Hanquez <vincent@snarc.org>
Maintainer:          vincent@snarc.org
Category:            foundation
Stability:           experimental
Build-Type:          Simple
Homepage:            https://github.com/haskell-foundation/foundation
Bug-Reports:         https://github.com/haskell-foundation/foundation/issues
Cabal-Version:       >=1.10
tested-with:         GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
extra-source-files:  README.md

source-repository head
  type: git
  location: https://github.com/haskell-foundation/foundation

Library
  Exposed-modules:   Foundation
                     Foundation.Number
                     Foundation.Array
                     Foundation.Array.Internal
                     Foundation.Convertible
                     Foundation.String
                     Foundation.IO
                     Foundation.IO.FileMap
                     Foundation.VFS
                     Foundation.VFS.Path
                     Foundation.VFS.FilePath
                     Foundation.VFS.URI
                     Foundation.Foreign
                     Foundation.Collection
                     Foundation.Primitive
                     Foundation.System.Info
                     Foundation.Strict
  Other-modules:     Foundation.String.Internal
                     Foundation.String.UTF8
                     Foundation.String.Encoding.Encoding
                     Foundation.String.Encoding.UTF16
                     Foundation.String.Encoding.UTF32
                     Foundation.String.Encoding.ASCII7
                     Foundation.String.Encoding.ISO_8859_1
                     Foundation.String.UTF8Table
                     Foundation.String.ModifiedUTF8
                     Foundation.Tuple
                     Foundation.Collection.List
                     Foundation.Collection.Element
                     Foundation.Collection.InnerFunctor
                     Foundation.Collection.Sequential
                     Foundation.Collection.Keyed
                     Foundation.Collection.Indexed
                     Foundation.Collection.Foldable
                     Foundation.Collection.Mutable
                     Foundation.Collection.Zippable
                     Foundation.Internal.Base
                     Foundation.Internal.Primitive
                     Foundation.Internal.IsList
                     Foundation.Internal.Identity
                     Foundation.Internal.Proxy
                     Foundation.Internal.Types
                     Foundation.Internal.PrimTypes
                     Foundation.Internal.MonadTrans
                     Foundation.IO.File
                     Foundation.IO.Terminal
                     Foundation.Primitive.Types
                     Foundation.Primitive.Monad
                     Foundation.Primitive.Utils
                     Foundation.Primitive.FinalPtr
                     Foundation.Array.Common
                     Foundation.Array.Unboxed
                     Foundation.Array.Unboxed.Builder
                     Foundation.Array.Unboxed.Mutable
                     Foundation.Array.Unboxed.ByteArray
                     Foundation.Array.Boxed
                     Foundation.Array.Bitmap
                     Foundation.Foreign.MemoryMap
                     Foundation.Foreign.MemoryMap.Types
                     Foundation.Partial
  if os(windows)
    Other-modules:   Foundation.Foreign.MemoryMap.Windows
  else
    Other-modules:   Foundation.Foreign.MemoryMap.Posix
  Default-Extensions: NoImplicitPrelude
                      TypeFamilies
                      BangPatterns
                      DeriveDataTypeable
  Build-depends:     base >= 4 && < 5
                   , ghc-prim
  -- FIXME add suport for armel mipsel
  --  CPP-options: -DARCH_IS_LITTLE_ENDIAN
  -- FIXME add support for powerpc powerpc64 armeb mipseb
  --  CPP-options: -DARCH_IS_BIG_ENDIAN
  if (arch(i386) || arch(x86_64))
    CPP-options: -DARCH_IS_LITTLE_ENDIAN
  else
    CPP-options: -DARCH_IS_UNKNOWN_ENDIAN
  if os(windows)
    Build-depends:    Win32
  ghc-options:       -Wall -fwarn-tabs
  default-language:  Haskell2010

Test-Suite test-foundation
  type:              exitcode-stdio-1.0
  hs-source-dirs:    tests
  Main-is:           Tests.hs
  Other-modules:     ForeignUtils
                     Encoding
  Build-Depends:     base >= 3 && < 5
                   , mtl
                   , QuickCheck
                   , tasty
                   , tasty-quickcheck
                   , tasty-hunit
                   , foundation
  ghc-options:       -Wall -fno-warn-orphans -fno-warn-missing-signatures
  default-language:  Haskell2010

Benchmark bench-array
  Main-Is:           Array.hs
  hs-source-dirs:    benchs
  default-language:  Haskell2010
  type:              exitcode-stdio-1.0
  Default-Extensions: NoImplicitPrelude
                      BangPatterns
  Build-depends:     base >= 4, criterion, foundation

Benchmark bench-profile-break
  Main-Is:           ProfBreak.hs
  hs-source-dirs:    benchs
  default-language:  Haskell2010
  type:              exitcode-stdio-1.0
  Default-Extensions: NoImplicitPrelude
                      BangPatterns
  Build-depends:     foundation