File: infinite-list.cabal

package info (click to toggle)
haskell-infinite-list 0.1.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 168 kB
  • sloc: haskell: 1,648; makefile: 5
file content (110 lines) | stat: -rw-r--r-- 2,809 bytes parent folder | download
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
cabal-version:   2.2
name:            infinite-list
version:         0.1.1
license:         BSD-3-Clause
license-file:    LICENSE
maintainer:      andrew.lelechenko@gmail.com
author:          Bodigrim
tested-with:
    ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==8.6.5 ghc ==8.8.4
    ghc ==8.10.7 ghc ==9.0.2 ghc ==9.2.8 ghc ==9.4.8 ghc ==9.6.3
    ghc ==9.8.1

homepage:        https://github.com/Bodigrim/infinite-list
synopsis:        Infinite lists
description:
    Modern lightweight library for infinite lists with fusion:
    .
    * API similar to "Data.List".
    * No non-boot dependencies.
    * Top performance, driven by fusion.
    * Avoid dangerous instances like `Foldable`.
    * Use `NonEmpty` where applicable.
    * Use `Word` for indices.
    * Be lazy, but not too lazy.
    .
    @
    {\-# LANGUAGE PostfixOperators #-\}
    import Data.List.Infinite (Infinite(..), (...), (....))
    import qualified Data.List.Infinite as Inf
    @

category:        Data
build-type:      Simple
extra-doc-files:
    CHANGELOG.md
    README.md

source-repository head
    type:     git
    location: https://github.com/Bodigrim/infinite-list

library
    exposed-modules:  Data.List.Infinite
    hs-source-dirs:   src
    other-modules:
        Data.List.Infinite.Zip
        Data.List.Infinite.Internal

    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:    base >=4.9 && <5

    if impl(ghc <8.2)
        build-depends: ghc-prim <1

test-suite infinite-properties
    type:             exitcode-stdio-1.0
    main-is:          Properties.hs
    hs-source-dirs:   test
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base,
        infinite-list,
        QuickCheck,
        tasty,
        tasty-quickcheck

test-suite infinite-properties-O0
    type:             exitcode-stdio-1.0
    main-is:          Properties.hs
    hs-source-dirs:   test
    default-language: Haskell2010
    ghc-options:      -Wall -O0
    build-depends:
        base,
        infinite-list,
        QuickCheck,
        tasty,
        tasty-quickcheck

test-suite infinite-fusion
    type:             exitcode-stdio-1.0
    main-is:          Fusion.hs
    hs-source-dirs:   test
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base,
        infinite-list,
        tasty,
        tasty-inspection-testing,
        tasty-expected-failure

    if impl(ghc <9.2)
        buildable: False

benchmark infinite-bench
    type:             exitcode-stdio-1.0
    main-is:          Bench.hs
    hs-source-dirs:   bench
    default-language: Haskell2010
    ghc-options:      -Wall
    build-depends:
        base,
        infinite-list,
        tasty-bench

    if impl(ghc >=8.6)
        ghc-options: -fproc-alignment=64