1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
|
name: foundation
version: 0.0.30
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: 2015-2017 Vincent Hanquez <vincent@snarc.org>, 2017- Foundation Maintainers
author: Vincent Hanquez <vincent@snarc.org>
maintainer: vincent@snarc.org
category: foundation
build-type: Simple
homepage: https://github.com/haskell-foundation/foundation
bug-reports: https://github.com/haskell-foundation/foundation/issues
cabal-version: 1.18
extra-source-files: cbits/*.h
source-repository head
type: git
location: https://github.com/haskell-foundation/foundation
subdir: foundation
flag experimental
description: Enable building experimental features, known as highly unstable or without good support cross-platform
default: False
manual: True
flag bench-all
description: Add some comparaison benchmarks against other haskell libraries
default: False
manual: True
flag minimal-deps
description: Build fully with minimal deps (no criterion, no quickcheck, no doctest)
default: False
manual: True
flag bounds-check
description: Add extra friendly boundary check for unsafe array operations
default: False
manual: True
flag doctest
description: Build doctest on demand only
default: False
manual: True
flag linktest
description: Run linking test
default: False
manual: True
library
exposed-modules: Foundation
Foundation.Numerical
Foundation.Array
Foundation.Array.Internal
Foundation.Bits
Foundation.Class.Bifunctor
Foundation.Class.Storable
Foundation.Conduit
Foundation.Conduit.Textual
Foundation.Exception
Foundation.Format.CSV
Foundation.String
Foundation.String.Read
Foundation.String.Builder
Foundation.IO
Foundation.IO.FileMap
Foundation.IO.Terminal
Foundation.VFS
Foundation.VFS.Path
Foundation.VFS.FilePath
Foundation.VFS.URI
Foundation.Math.Trigonometry
Foundation.Hashing
Foundation.Foreign
Foundation.Collection
Foundation.Primitive
Foundation.List.DList
Foundation.List.ListN
Foundation.Monad
Foundation.Monad.Except
Foundation.Monad.Reader
Foundation.Monad.State
Foundation.Network.IPv4
Foundation.Network.IPv6
Foundation.System.Info
Foundation.Strict
Foundation.Parser
Foundation.Random
Foundation.Check
Foundation.Check.Main
Foundation.Timing
Foundation.Timing.Main
Foundation.Time.Types
Foundation.Time.Bindings
Foundation.Time.StopWatch
Foundation.Tuple.Nth
Foundation.UUID
Foundation.System.Entropy
Foundation.System.Bindings
other-modules:
Foundation.Tuple
Foundation.Hashing.FNV
Foundation.Hashing.SipHash
Foundation.Hashing.Hasher
Foundation.Hashing.Hashable
Foundation.Check.Gen
Foundation.Check.Print
Foundation.Check.Arbitrary
Foundation.Check.Property
Foundation.Check.Config
Foundation.Check.Types
Foundation.Collection.Buildable
Foundation.Collection.List
Foundation.Collection.Element
Foundation.Collection.InnerFunctor
Foundation.Collection.Collection
Foundation.Collection.Copy
Foundation.Collection.Sequential
Foundation.Collection.Keyed
Foundation.Collection.Indexed
Foundation.Collection.Foldable
Foundation.Collection.Mutable
Foundation.Collection.Zippable
Foundation.Collection.Mappable
Foundation.Conduit.Internal
Foundation.Format.CSV.Types
Foundation.Format.CSV.Builder
Foundation.Format.CSV.Parser
Foundation.Numerical.Floating
Foundation.IO.File
Foundation.Monad.MonadIO
Foundation.Monad.Exception
Foundation.Monad.Transformer
Foundation.Monad.Identity
Foundation.Monad.Base
Foundation.Random.Class
Foundation.Random.DRG
Foundation.Random.ChaChaDRG
Foundation.Random.XorShift
Foundation.Array.Chunked.Unboxed
Foundation.Array.Bitmap
Foundation.Foreign.Alloc
Foundation.Foreign.MemoryMap
Foundation.Foreign.MemoryMap.Types
Foundation.Partial
-- Foundation.Time.Bindings
Foundation.System.Entropy.Common
Foundation.System.Bindings.Network
Foundation.System.Bindings.Time
Foundation.System.Bindings.Hs
include-dirs: cbits
c-sources: cbits/foundation_random.c
cbits/foundation_network.c
cbits/foundation_time.c
cbits/foundation_utf8.c
if flag(experimental)
exposed-modules: Foundation.Network.HostName
if os(windows)
exposed-modules: Foundation.System.Bindings.Windows
other-modules: Foundation.Foreign.MemoryMap.Windows
Foundation.System.Entropy.Windows
else
exposed-modules: Foundation.System.Bindings.Posix
Foundation.System.Bindings.PosixDef
other-modules: Foundation.Foreign.MemoryMap.Posix
Foundation.System.Entropy.Unix
if os(linux)
exposed-modules: Foundation.System.Bindings.Linux
if os(osx)
exposed-modules: Foundation.System.Bindings.Macos
default-extensions: NoImplicitPrelude
RebindableSyntax
TypeFamilies
BangPatterns
DeriveDataTypeable
if impl(ghc < 8.10) || impl(ghcjs)
buildable: False
else
build-depends: base
, ghc-prim
if os(windows)
build-depends: Win32
if arch(i386)
extra-libraries: gcc
build-depends: basement == 0.0.16
-- 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
ghc-options: -Wall -fwarn-tabs -Wno-redundant-constraints
default-language: Haskell2010
if flag(bounds-check)
cpp-options: -DFOUNDATION_BOUNDS_CHECK
test-suite check-foundation
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Checks.hs
other-modules: Test.Checks.Property.Collection
Test.Foundation.Random
Test.Foundation.Misc
Test.Foundation.Conduit
Test.Foundation.Primitive.BlockN
Test.Foundation.Storable
Test.Foundation.Number
Test.Foundation.String.Base64
Test.Foundation.String
Test.Foundation.Bits
Test.Basement
Test.Basement.UTF8
Test.Data.Network
Test.Data.List
Test.Foundation.Network.IPv4
Test.Foundation.Network.IPv6
Test.Foundation.Format
Test.Foundation.Format.CSV
default-extensions: NoImplicitPrelude
RebindableSyntax
OverloadedStrings
build-depends: base > 0 && < 1000
, basement
, foundation
ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures -Wno-redundant-constraints
default-language: Haskell2010
test-suite foundation-link
type: exitcode-stdio-1.0
hs-source-dirs: tests
default-language: Haskell2010
main-is: Scripts/Link.hs
default-extensions: NoImplicitPrelude
RebindableSyntax
if flag(linktest)
build-depends: base > 0 && < 1000
, foundation
, template-haskell
buildable: True
else
buildable: False
test-suite doctest
type: exitcode-stdio-1.0
hs-source-dirs: tests
default-language: Haskell2010
main-is: DocTest.hs
default-extensions: NoImplicitPrelude
RebindableSyntax
if flag(minimal-deps)
-- TODO: for no, force unbuildable anyway
buildable: False
else
if flag(doctest)
build-depends: base
, doctest >= 0.9
buildable: True
else
buildable: False
Benchmark bench
main-is: Main.hs
other-modules: BenchUtil.Common
BenchUtil.RefData
Sys
LargeWords
Fake.ByteString
Fake.Text
Fake.Vector
hs-source-dirs: benchs
default-language: Haskell2010
type: exitcode-stdio-1.0
default-extensions: NoImplicitPrelude
BangPatterns
if flag(minimal-deps) || impl(ghc < 7.10)
buildable: False
else
build-depends: base, gauge, basement, foundation
if flag(bench-all)
cpp-options: -DBENCH_ALL
build-depends: text, attoparsec, vector, bytestring
|