forked from pool/ghc-lens
osc copypac from project:devel:languages:haskell:ghc-8.10.x package:ghc-lens revision:29, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-lens?expand=0&rev=47
This commit is contained in:
parent
adaff4aa2c
commit
74db2edb16
@ -1,3 +1,33 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 16 19:51:10 UTC 2021 - psimons@suse.com
|
||||||
|
|
||||||
|
- Update lens to version 5.1.
|
||||||
|
5.1 [2021.11.15]
|
||||||
|
----------------
|
||||||
|
* Allow building with GHC 9.2.
|
||||||
|
* Drop support for GHC 7.10 and older.
|
||||||
|
* The type of `_ConP` in `Language.Haskell.TH.Lens` is now
|
||||||
|
`Prism' Pat (Name, [Type], [Pat])` instead of `Prism' Pat (Name, [Pat])`
|
||||||
|
when building with `template-haskell-2.18` or later.
|
||||||
|
* Define `_CharTyLit` in `Language.Haskell.TH.Lens` when building with
|
||||||
|
`template-haskell-2.18` or later.
|
||||||
|
* Add `Prefixed` and `Suffixed` classes to `Control.Lens.Prism`, which provide
|
||||||
|
`prefixed` and `suffixed` prisms for prefixes and suffixes of sequence types.
|
||||||
|
These classes generalize the `prefixed` and `suffixed` functions in
|
||||||
|
`Data.List.Lens`, which were previously top-level functions. In addition to
|
||||||
|
providing `Prefixed` and `Suffixed` instances for lists, instances for `Text`
|
||||||
|
and `ByteString` types are also provided.
|
||||||
|
|
||||||
|
At present, `Prefixed` and `Suffixed` are re-exported from `Data.List.Lens`
|
||||||
|
for backwards compatibility. This may change in a future version of `lens`,
|
||||||
|
however.
|
||||||
|
* Add a `traversal` function to `Control.Lens.Traversal`. This function, aside
|
||||||
|
from acting as a `Traversal` counterpart to the `lens` and `prism` functions,
|
||||||
|
provides documentation on how to define `Traversal`s.
|
||||||
|
* Add a `matching'` function to `Control.Lens.Prism`. `matching'` is like
|
||||||
|
`matching`, but with a slightly more general type signature that allows it to
|
||||||
|
work with combinations of `Lens`es, `Prism`s, and `Traversal`s.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 2 08:32:21 UTC 2021 - psimons@suse.com
|
Thu Sep 2 08:32:21 UTC 2021 - psimons@suse.com
|
||||||
|
|
||||||
|
@ -19,13 +19,12 @@
|
|||||||
%global pkg_name lens
|
%global pkg_name lens
|
||||||
%bcond_with tests
|
%bcond_with tests
|
||||||
Name: ghc-%{pkg_name}
|
Name: ghc-%{pkg_name}
|
||||||
Version: 5.0.1
|
Version: 5.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Lenses, Folds and Traversals
|
Summary: Lenses, Folds and Traversals
|
||||||
License: BSD-2-Clause
|
License: BSD-2-Clause
|
||||||
URL: https://hackage.haskell.org/package/%{pkg_name}
|
URL: https://hackage.haskell.org/package/%{pkg_name}
|
||||||
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
|
||||||
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal#/%{pkg_name}.cabal
|
|
||||||
BuildRequires: ghc-Cabal-devel
|
BuildRequires: ghc-Cabal-devel
|
||||||
BuildRequires: ghc-array-devel
|
BuildRequires: ghc-array-devel
|
||||||
BuildRequires: ghc-assoc-devel
|
BuildRequires: ghc-assoc-devel
|
||||||
@ -167,7 +166,6 @@ This package provides the Haskell %{pkg_name} library development files.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{pkg_name}-%{version}
|
%autosetup -n %{pkg_name}-%{version}
|
||||||
cp -p %{SOURCE1} %{pkg_name}.cabal
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%ghc_lib_build
|
%ghc_lib_build
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ec543d933636419d686a9f00898f9a81cbbde65a24960f43a9f0a27216e9fc3f
|
|
||||||
size 698361
|
|
3
lens-5.1.tar.gz
Normal file
3
lens-5.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:922021de1a995fe663b25b9821da4d83ce2ffe01b465e794c113e80db4e335bd
|
||||||
|
size 697295
|
504
lens.cabal
504
lens.cabal
@ -1,504 +0,0 @@
|
|||||||
name: lens
|
|
||||||
category: Data, Lenses, Generics
|
|
||||||
version: 5.0.1
|
|
||||||
x-revision: 2
|
|
||||||
license: BSD2
|
|
||||||
cabal-version: 1.18
|
|
||||||
license-file: LICENSE
|
|
||||||
author: Edward A. Kmett
|
|
||||||
maintainer: Edward A. Kmett <ekmett@gmail.com>
|
|
||||||
stability: provisional
|
|
||||||
homepage: http://github.com/ekmett/lens/
|
|
||||||
bug-reports: http://github.com/ekmett/lens/issues
|
|
||||||
copyright: Copyright (C) 2012-2016 Edward A. Kmett
|
|
||||||
build-type: Simple
|
|
||||||
-- build-tools: cpphs
|
|
||||||
tested-with: GHC == 7.8.4
|
|
||||||
, GHC == 7.10.3
|
|
||||||
, GHC == 8.0.2
|
|
||||||
, GHC == 8.2.2
|
|
||||||
, GHC == 8.4.4
|
|
||||||
, GHC == 8.6.5
|
|
||||||
, GHC == 8.8.4
|
|
||||||
, GHC == 8.10.4
|
|
||||||
, GHC == 9.0.1
|
|
||||||
synopsis: Lenses, Folds and Traversals
|
|
||||||
description:
|
|
||||||
This package comes \"Batteries Included\" with many useful lenses for the types
|
|
||||||
commonly used from the Haskell Platform, and with tools for automatically
|
|
||||||
generating lenses and isomorphisms for user-supplied data types.
|
|
||||||
.
|
|
||||||
The combinators in @Control.Lens@ provide a highly generic toolbox for composing
|
|
||||||
families of getters, folds, isomorphisms, traversals, setters and lenses and their
|
|
||||||
indexed variants.
|
|
||||||
.
|
|
||||||
An overview, with a large number of examples can be found in the <https://github.com/ekmett/lens#lens-lenses-folds-and-traversals README>.
|
|
||||||
.
|
|
||||||
An introductory video on the style of code used in this library by Simon Peyton Jones is available from <http://skillsmatter.com/podcast/scala/lenses-compositional-data-access-and-manipulation Skills Matter>.
|
|
||||||
.
|
|
||||||
A video on how to use lenses and how they are constructed is available on <http://youtu.be/cefnmjtAolY?hd=1 youtube>.
|
|
||||||
.
|
|
||||||
Slides for that second talk can be obtained from <http://comonad.com/haskell/Lenses-Folds-and-Traversals-NYC.pdf comonad.com>.
|
|
||||||
.
|
|
||||||
More information on the care and feeding of lenses, including a brief tutorial and motivation
|
|
||||||
for their types can be found on the <https://github.com/ekmett/lens/wiki lens wiki>.
|
|
||||||
.
|
|
||||||
A small game of @pong@ and other more complex examples that manage their state using lenses can be found in the <https://github.com/ekmett/lens/blob/master/examples/ example folder>.
|
|
||||||
.
|
|
||||||
/Lenses, Folds and Traversals/
|
|
||||||
.
|
|
||||||
With some signatures simplified, the core of the hierarchy of lens-like constructions looks like:
|
|
||||||
.
|
|
||||||
.
|
|
||||||
<<http://i.imgur.com/ALlbPRa.png>>
|
|
||||||
.
|
|
||||||
<images/Hierarchy.png (Local Copy)>
|
|
||||||
.
|
|
||||||
You can compose any two elements of the hierarchy above using @(.)@ from the @Prelude@, and you can
|
|
||||||
use any element of the hierarchy as any type it linked to above it.
|
|
||||||
.
|
|
||||||
The result is their lowest upper bound in the hierarchy (or an error if that bound doesn't exist).
|
|
||||||
.
|
|
||||||
For instance:
|
|
||||||
.
|
|
||||||
* You can use any 'Traversal' as a 'Fold' or as a 'Setter'.
|
|
||||||
.
|
|
||||||
* The composition of a 'Traversal' and a 'Getter' yields a 'Fold'.
|
|
||||||
.
|
|
||||||
/Minimizing Dependencies/
|
|
||||||
.
|
|
||||||
If you want to provide lenses and traversals for your own types in your own libraries, then you
|
|
||||||
can do so without incurring a dependency on this (or any other) lens package at all.
|
|
||||||
.
|
|
||||||
/e.g./ for a data type:
|
|
||||||
.
|
|
||||||
> data Foo a = Foo Int Int a
|
|
||||||
.
|
|
||||||
You can define lenses such as
|
|
||||||
.
|
|
||||||
> -- bar :: Lens' (Foo a) Int
|
|
||||||
> bar :: Functor f => (Int -> f Int) -> Foo a -> f (Foo a)
|
|
||||||
> bar f (Foo a b c) = fmap (\a' -> Foo a' b c) (f a)
|
|
||||||
.
|
|
||||||
> -- quux :: Lens (Foo a) (Foo b) a b
|
|
||||||
> quux :: Functor f => (a -> f b) -> Foo a -> f (Foo b)
|
|
||||||
> quux f (Foo a b c) = fmap (Foo a b) (f c)
|
|
||||||
.
|
|
||||||
without the need to use any type that isn't already defined in the @Prelude@.
|
|
||||||
.
|
|
||||||
And you can define a traversal of multiple fields with 'Control.Applicative.Applicative':
|
|
||||||
.
|
|
||||||
> -- traverseBarAndBaz :: Traversal' (Foo a) Int
|
|
||||||
> traverseBarAndBaz :: Applicative f => (Int -> f Int) -> Foo a -> f (Foo a)
|
|
||||||
> traverseBarAndBaz f (Foo a b c) = Foo <$> f a <*> f b <*> pure c
|
|
||||||
.
|
|
||||||
What is provided in this library is a number of stock lenses and traversals for
|
|
||||||
common haskell types, a wide array of combinators for working them, and more
|
|
||||||
exotic functionality, (/e.g./ getters, setters, indexed folds, isomorphisms).
|
|
||||||
|
|
||||||
extra-source-files:
|
|
||||||
.gitignore
|
|
||||||
.hlint.yaml
|
|
||||||
.vim.custom
|
|
||||||
cabal.project
|
|
||||||
examples/LICENSE
|
|
||||||
examples/lens-examples.cabal
|
|
||||||
examples/*.hs
|
|
||||||
examples/*.lhs
|
|
||||||
examples/.hlint.yaml
|
|
||||||
include/*.h
|
|
||||||
lens-properties/.hlint.yaml
|
|
||||||
lens-properties/CHANGELOG.markdown
|
|
||||||
lens-properties/LICENSE
|
|
||||||
lens-properties/Setup.hs
|
|
||||||
lens-properties/lens-properties.cabal
|
|
||||||
AUTHORS.markdown
|
|
||||||
CHANGELOG.markdown
|
|
||||||
README.markdown
|
|
||||||
SUPPORT.markdown
|
|
||||||
extra-doc-files:
|
|
||||||
images/*.png
|
|
||||||
|
|
||||||
source-repository head
|
|
||||||
type: git
|
|
||||||
location: https://github.com/ekmett/lens.git
|
|
||||||
|
|
||||||
-- Enable benchmarking against Neil Mitchell's uniplate library for comparative performance analysis. Defaults to being turned off to avoid
|
|
||||||
-- the extra dependency.
|
|
||||||
--
|
|
||||||
-- > cabal configure --enable-benchmarks -fbenchmark-uniplate && cabal build && cabal bench
|
|
||||||
flag benchmark-uniplate
|
|
||||||
default: False
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
-- Generate inline pragmas when using template-haskell. This defaults to enabled, but you can
|
|
||||||
--
|
|
||||||
-- > cabal install lens -f-inlining
|
|
||||||
--
|
|
||||||
-- to shut it off to benchmark the relative performance impact, or as last ditch effort to address compile
|
|
||||||
-- errors resulting from the myriad versions of template-haskell that all purport to be 2.8.
|
|
||||||
flag inlining
|
|
||||||
manual: True
|
|
||||||
default: True
|
|
||||||
|
|
||||||
-- Make the test suites dump their template-haskell splices.
|
|
||||||
flag dump-splices
|
|
||||||
default: False
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
-- You can disable the hunit test suite with -f-test-hunit
|
|
||||||
flag test-hunit
|
|
||||||
default: True
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
-- Build the properties test if we're building tests
|
|
||||||
flag test-properties
|
|
||||||
default: True
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
flag test-templates
|
|
||||||
default: True
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
-- Assert that we are trustworthy when we can
|
|
||||||
flag trustworthy
|
|
||||||
default: True
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
-- Attempt a parallel build with GHC 7.8
|
|
||||||
flag j
|
|
||||||
default: False
|
|
||||||
manual: True
|
|
||||||
|
|
||||||
library
|
|
||||||
build-depends:
|
|
||||||
array >= 0.5.0.0 && < 0.6,
|
|
||||||
assoc >= 1.0.2 && < 1.1,
|
|
||||||
base >= 4.7 && < 5,
|
|
||||||
base-orphans >= 0.5.2 && < 1,
|
|
||||||
bifunctors >= 5.1 && < 6,
|
|
||||||
bytestring >= 0.10.4.0 && < 0.12,
|
|
||||||
call-stack >= 0.1 && < 0.5,
|
|
||||||
comonad >= 5.0.7 && < 6,
|
|
||||||
containers >= 0.5.5.1 && < 0.7,
|
|
||||||
contravariant >= 1.3 && < 2,
|
|
||||||
distributive >= 0.3 && < 1,
|
|
||||||
exceptions >= 0.1.1 && < 1,
|
|
||||||
filepath >= 1.2.0.0 && < 1.5,
|
|
||||||
free >= 5.1.5 && < 6,
|
|
||||||
ghc-prim,
|
|
||||||
hashable >= 1.1.2.3 && < 1.4,
|
|
||||||
indexed-traversable >= 0.1 && < 0.2,
|
|
||||||
indexed-traversable-instances >= 0.1 && < 0.2,
|
|
||||||
kan-extensions >= 5 && < 6,
|
|
||||||
mtl >= 2.0.1 && < 2.3,
|
|
||||||
parallel >= 3.1.0.1 && < 3.3,
|
|
||||||
profunctors >= 5.5.2 && < 6,
|
|
||||||
reflection >= 2.1 && < 3,
|
|
||||||
semigroupoids >= 5 && < 6,
|
|
||||||
strict >= 0.4 && < 0.5,
|
|
||||||
tagged >= 0.4.4 && < 1,
|
|
||||||
template-haskell >= 2.9.0.0 && < 2.18,
|
|
||||||
text >= 1.2.3.0 && < 1.3,
|
|
||||||
th-abstraction >= 0.4.1 && < 0.5,
|
|
||||||
these >= 1.1.1.1 && < 1.2,
|
|
||||||
transformers >= 0.3.0.0 && < 0.6,
|
|
||||||
transformers-compat >= 0.4 && < 1,
|
|
||||||
unordered-containers >= 0.2.10 && < 0.3,
|
|
||||||
vector >= 0.9 && < 0.13
|
|
||||||
|
|
||||||
if !impl(ghc >= 8.0)
|
|
||||||
build-depends:
|
|
||||||
generic-deriving >= 1.10 && < 2,
|
|
||||||
semigroups >= 0.8.4 && < 1
|
|
||||||
|
|
||||||
if !impl(ghc >= 7.10)
|
|
||||||
build-depends:
|
|
||||||
nats >= 0.1 && < 1.2,
|
|
||||||
void >= 0.5 && < 1
|
|
||||||
|
|
||||||
-- Control.Lens as the first module, so cabal repl loads it.
|
|
||||||
exposed-modules:
|
|
||||||
Control.Lens
|
|
||||||
|
|
||||||
exposed-modules:
|
|
||||||
Control.Exception.Lens
|
|
||||||
Control.Lens.At
|
|
||||||
Control.Lens.Combinators
|
|
||||||
Control.Lens.Cons
|
|
||||||
Control.Lens.Each
|
|
||||||
Control.Lens.Empty
|
|
||||||
Control.Lens.Equality
|
|
||||||
Control.Lens.Extras
|
|
||||||
Control.Lens.Fold
|
|
||||||
Control.Lens.Getter
|
|
||||||
Control.Lens.Indexed
|
|
||||||
Control.Lens.Internal
|
|
||||||
Control.Lens.Internal.Bazaar
|
|
||||||
Control.Lens.Internal.ByteString
|
|
||||||
Control.Lens.Internal.Coerce
|
|
||||||
Control.Lens.Internal.Context
|
|
||||||
Control.Lens.Internal.CTypes
|
|
||||||
Control.Lens.Internal.Deque
|
|
||||||
Control.Lens.Internal.Exception
|
|
||||||
Control.Lens.Internal.FieldTH
|
|
||||||
Control.Lens.Internal.PrismTH
|
|
||||||
Control.Lens.Internal.Fold
|
|
||||||
Control.Lens.Internal.Getter
|
|
||||||
Control.Lens.Internal.Indexed
|
|
||||||
Control.Lens.Internal.Instances
|
|
||||||
Control.Lens.Internal.Iso
|
|
||||||
Control.Lens.Internal.Level
|
|
||||||
Control.Lens.Internal.List
|
|
||||||
Control.Lens.Internal.Magma
|
|
||||||
Control.Lens.Internal.Prism
|
|
||||||
Control.Lens.Internal.Profunctor
|
|
||||||
Control.Lens.Internal.Review
|
|
||||||
Control.Lens.Internal.Setter
|
|
||||||
Control.Lens.Internal.TH
|
|
||||||
Control.Lens.Internal.Zoom
|
|
||||||
Control.Lens.Iso
|
|
||||||
Control.Lens.Lens
|
|
||||||
Control.Lens.Level
|
|
||||||
Control.Lens.Operators
|
|
||||||
Control.Lens.Plated
|
|
||||||
Control.Lens.Prism
|
|
||||||
Control.Lens.Profunctor
|
|
||||||
Control.Lens.Reified
|
|
||||||
Control.Lens.Review
|
|
||||||
Control.Lens.Setter
|
|
||||||
Control.Lens.TH
|
|
||||||
Control.Lens.Traversal
|
|
||||||
Control.Lens.Tuple
|
|
||||||
Control.Lens.Type
|
|
||||||
Control.Lens.Unsound
|
|
||||||
Control.Lens.Wrapped
|
|
||||||
Control.Lens.Zoom
|
|
||||||
Control.Monad.Error.Lens
|
|
||||||
Control.Parallel.Strategies.Lens
|
|
||||||
Control.Seq.Lens
|
|
||||||
Data.Array.Lens
|
|
||||||
Data.Bits.Lens
|
|
||||||
Data.ByteString.Lens
|
|
||||||
Data.ByteString.Strict.Lens
|
|
||||||
Data.ByteString.Lazy.Lens
|
|
||||||
Data.Complex.Lens
|
|
||||||
Data.Data.Lens
|
|
||||||
Data.Dynamic.Lens
|
|
||||||
Data.HashSet.Lens
|
|
||||||
Data.IntSet.Lens
|
|
||||||
Data.List.Lens
|
|
||||||
Data.Map.Lens
|
|
||||||
Data.Sequence.Lens
|
|
||||||
Data.Set.Lens
|
|
||||||
Data.Text.Lens
|
|
||||||
Data.Text.Strict.Lens
|
|
||||||
Data.Text.Lazy.Lens
|
|
||||||
Data.Tree.Lens
|
|
||||||
Data.Typeable.Lens
|
|
||||||
Data.Vector.Lens
|
|
||||||
Data.Vector.Generic.Lens
|
|
||||||
GHC.Generics.Lens
|
|
||||||
System.Exit.Lens
|
|
||||||
System.FilePath.Lens
|
|
||||||
System.IO.Error.Lens
|
|
||||||
Language.Haskell.TH.Lens
|
|
||||||
Numeric.Lens
|
|
||||||
Numeric.Natural.Lens
|
|
||||||
|
|
||||||
other-modules:
|
|
||||||
Control.Lens.Internal.Prelude
|
|
||||||
Paths_lens
|
|
||||||
|
|
||||||
if flag(trustworthy) && impl(ghc)
|
|
||||||
other-extensions: Trustworthy
|
|
||||||
cpp-options: -DTRUSTWORTHY=1
|
|
||||||
|
|
||||||
if flag(inlining)
|
|
||||||
cpp-options: -DINLINING
|
|
||||||
|
|
||||||
if impl(ghc >= 7.10)
|
|
||||||
ghc-options: -fno-warn-trustworthy-safe
|
|
||||||
|
|
||||||
if impl(ghc >= 8)
|
|
||||||
ghc-options: -Wno-missing-pattern-synonym-signatures
|
|
||||||
ghc-options: -Wno-redundant-constraints
|
|
||||||
|
|
||||||
if flag(j)
|
|
||||||
ghc-options: -j4
|
|
||||||
|
|
||||||
ghc-options: -Wall -fwarn-tabs -O2 -fdicts-cheap -funbox-strict-fields -fmax-simplifier-iterations=10
|
|
||||||
if impl(ghc >= 8.6)
|
|
||||||
ghc-options: -Wno-star-is-type
|
|
||||||
|
|
||||||
hs-source-dirs: src
|
|
||||||
|
|
||||||
include-dirs: include
|
|
||||||
|
|
||||||
default-language: Haskell2010
|
|
||||||
|
|
||||||
-- future proof, whether the field will be comma separated or not.
|
|
||||||
x-docspec-extra-packages: simple-reflect
|
|
||||||
x-docspec-extra-packages: deepseq
|
|
||||||
|
|
||||||
-- Verify that Template Haskell expansion works
|
|
||||||
test-suite templates
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: templates.hs
|
|
||||||
other-modules:
|
|
||||||
T799
|
|
||||||
T917
|
|
||||||
T972
|
|
||||||
ghc-options: -Wall -threaded
|
|
||||||
hs-source-dirs: tests
|
|
||||||
default-language: Haskell2010
|
|
||||||
|
|
||||||
if impl(ghc >= 8.6)
|
|
||||||
ghc-options: -Wno-star-is-type
|
|
||||||
|
|
||||||
if flag(dump-splices)
|
|
||||||
ghc-options: -ddump-splices
|
|
||||||
|
|
||||||
if !flag(test-templates)
|
|
||||||
buildable: False
|
|
||||||
else
|
|
||||||
build-depends: base, lens
|
|
||||||
|
|
||||||
-- Verify the properties of lenses with QuickCheck
|
|
||||||
test-suite properties
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: properties.hs
|
|
||||||
other-modules:
|
|
||||||
Control.Lens.Properties
|
|
||||||
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
|
||||||
hs-source-dirs:
|
|
||||||
tests
|
|
||||||
lens-properties/src
|
|
||||||
include-dirs: include
|
|
||||||
default-language: Haskell2010
|
|
||||||
if !flag(test-properties)
|
|
||||||
buildable: False
|
|
||||||
else
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
lens,
|
|
||||||
QuickCheck >= 2.4,
|
|
||||||
test-framework >= 0.6,
|
|
||||||
test-framework-quickcheck2 >= 0.2,
|
|
||||||
transformers
|
|
||||||
|
|
||||||
test-suite hunit
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: hunit.hs
|
|
||||||
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
|
|
||||||
hs-source-dirs: tests
|
|
||||||
default-language: Haskell2010
|
|
||||||
|
|
||||||
if !flag(test-hunit)
|
|
||||||
buildable: False
|
|
||||||
else
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
containers,
|
|
||||||
HUnit >= 1.2,
|
|
||||||
lens,
|
|
||||||
mtl,
|
|
||||||
test-framework >= 0.6,
|
|
||||||
test-framework-hunit >= 0.2
|
|
||||||
|
|
||||||
-- We need this dummy test-suite to add simple-reflect to the install plan
|
|
||||||
--
|
|
||||||
-- When cabal-install's extra-packages support becomes widely available
|
|
||||||
-- (i.e. after 3.4 release), we can remove this test-suite.
|
|
||||||
test-suite doctests
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: doctests.hs
|
|
||||||
hs-source-dirs: tests
|
|
||||||
default-language: Haskell2010
|
|
||||||
|
|
||||||
build-depends: base, deepseq, simple-reflect >= 0.3.1
|
|
||||||
|
|
||||||
-- Basic benchmarks for the uniplate-style combinators
|
|
||||||
benchmark plated
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: plated.hs
|
|
||||||
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields
|
|
||||||
hs-source-dirs: benchmarks
|
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
base-compat >=0.11.0 && <0.13,
|
|
||||||
comonad,
|
|
||||||
criterion,
|
|
||||||
deepseq,
|
|
||||||
generic-deriving,
|
|
||||||
lens,
|
|
||||||
transformers
|
|
||||||
|
|
||||||
if flag(benchmark-uniplate)
|
|
||||||
build-depends: uniplate >= 1.6.7 && < 1.7
|
|
||||||
cpp-options: -DBENCHMARK_UNIPLATE
|
|
||||||
|
|
||||||
-- Benchmarking alongside variants
|
|
||||||
benchmark alongside
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: alongside.hs
|
|
||||||
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields
|
|
||||||
hs-source-dirs: benchmarks
|
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
comonad >= 4,
|
|
||||||
criterion,
|
|
||||||
deepseq,
|
|
||||||
lens,
|
|
||||||
transformers
|
|
||||||
|
|
||||||
-- Benchmarking folds
|
|
||||||
benchmark folds
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: folds.hs
|
|
||||||
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields
|
|
||||||
hs-source-dirs: benchmarks
|
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
criterion,
|
|
||||||
containers,
|
|
||||||
bytestring,
|
|
||||||
unordered-containers,
|
|
||||||
vector,
|
|
||||||
lens
|
|
||||||
|
|
||||||
-- Benchmarking traversals
|
|
||||||
benchmark traversals
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: traversals.hs
|
|
||||||
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields
|
|
||||||
hs-source-dirs: benchmarks
|
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
criterion,
|
|
||||||
containers,
|
|
||||||
deepseq,
|
|
||||||
bytestring,
|
|
||||||
unordered-containers,
|
|
||||||
vector,
|
|
||||||
lens
|
|
||||||
|
|
||||||
-- Benchmarking unsafe implementation strategies
|
|
||||||
benchmark unsafe
|
|
||||||
type: exitcode-stdio-1.0
|
|
||||||
main-is: unsafe.hs
|
|
||||||
ghc-options: -Wall -O2 -threaded -fdicts-cheap -funbox-strict-fields
|
|
||||||
hs-source-dirs: benchmarks
|
|
||||||
default-language: Haskell2010
|
|
||||||
build-depends:
|
|
||||||
base,
|
|
||||||
comonad >= 4,
|
|
||||||
criterion >= 1,
|
|
||||||
deepseq,
|
|
||||||
generic-deriving,
|
|
||||||
lens,
|
|
||||||
transformers
|
|
Loading…
Reference in New Issue
Block a user