packages feed

Cabal revisions of compdata-0.13.1

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-Name:			compdata-Version:		0.13.1-Synopsis:            	Compositional Data Types-Description:--  This library implements the ideas of-  <http://dx.doi.org/10.1017/S0956796808006758 Data types a la carte>-  as outlined in the paper-  <http://dx.doi.org/10.1145/2036918.2036930 Compositional data types>. The-  purpose of this library is to allow the programmer to construct data-  types -- as well as the functions defined on them -- in a modular-  fashion. The underlying idea is to separate the signature of a data-  type from the fixed point construction that produces its recursive-  structure. Signatures can then be composed and decomposed freely.-  .-  Building on that foundation, this library provides additional-  extensions and (run-time) optimisations which make compositional data types-  usable for practical implementations. In particular, it-  provides an excellent framework for manipulating and analysing-  abstract syntax trees in a type-safe manner. Thus, it is perfectly-  suited for programming language implementations, especially, in an environment-  consisting of a family of tightly interwoven /domain-specific languages/.-  .-  In concrete terms, this library provides the following features:-  .-  *  Compositional data types in the style of Wouter Swierstra's-     Functional Pearl /Data types a la carte/. The implementation of-     signature subsumption is based on the paper-     /Composing and Decomposing Data Types/ (Workshop on Generic-     Programming, 2014, to appear), which makes signature composition more-     flexible.-  .-  *  Modular definition of functions on compositional data types through-     catamorphisms and anamorphisms as well as more structured-     recursion schemes such as primitive recursion  and co-recursion,-     and course-of-value iteration and co-iteration.-  .-  *  Support for monadic computations via monadic variants of all-     recursion schemes.-  .-  *  Support of a succinct programming style over compositional data types-     via generic programming combinators that allow various forms of-     generic transformations and generic queries.-  .-  *  Generalisation of compositional data types (terms) to-     compositional data types \"with holes\" (contexts). This allows-     flexible reuse of a wide variety of catamorphisms (called-     /term homomorphisms/) as well as an efficient composition of them.-  .-  *  Operations on signatures, for example, to add and remove-     annotations of abstract syntax trees. This includes combinators to-     propagate annotations fully automatically through certain-     term homomorphisms.-  .-  *  Optimisation of the implementation of recursion schemes. This-     includes /short-cut fusion/ style optimisation rules which yield a-     performance boost of up to factor six.-  .-  *  Automatic derivation of instances of all relevant type classes for-     using compositional data types via /Template Haskell/. This includes-     instances of 'Prelude.Eq', 'Prelude.Ord' and 'Prelude.Show' that are-     derived via instances for functorial variants of them. Additionally,-     also /smart constructors/, which allow to easily construct inhabitants-     of compositional data types, are automatically generated.-  .-  *  /Mutually recursive data types/ and-     /generalised algebraic data types (GADTs)/. All of the above is also lifted-     to families of mutually recursive data types and (more generally) GADTs.-     This extension resides in the module "Data.Comp.Multi".-  .--  Examples of using (generalised) compositional data types are bundled-  with the package in the folder @examples@.-  .--  There are some supplementary packages, some of which were included-  in previous versions of this package:-  .-  * <https://hackage.haskell.org/package/compdata-param compdata-param>:-    a parametric variant of compositional data types to deal with variable-    binders in a systematic way.-  .-  * <https://hackage.haskell.org/package/compdata-automata compdata-automata>:-    advanced recursion schemes derived from tree automata that allow for a-    higher degree of modularity and make it possible to apply fusion.-  .-  * <https://hackage.haskell.org/package/compdata-dags compdata-dags>:-    recursion schemes on directed acyclic graphs.---Category:               Generics-License:                BSD3-License-file:           LICENSE-Author:                 Patrick Bahr, Tom Hvitved-Maintainer:             paba@itu.dk-Build-Type:             Simple-Cabal-Version:          >=1.9.2-bug-reports:            https://github.com/pa-ba/compdata/issues--extra-source-files:-  CHANGELOG.md-  -- test files-  testsuite/tests/*.hs-  testsuite/tests/Data/*.hs-  testsuite/tests/Data/Comp/*.hs-  testsuite/tests/Data/Comp/Multi/*.hs-  testsuite/tests/Data/Comp/Examples/*.hs-  testsuite/tests/Test/Utils.hs-  -- benchmark files-  benchmark/*.hs-  benchmark/DataTypes/*.hs-  benchmark/Functions/*.hs-  benchmark/Functions/Comp/*.hs-  benchmark/Functions/Standard/*.hs-  benchmark/Multi/DataTypes/*.hs-  benchmark/Multi/Functions/Comp/*.hs-  -- example files-  examples/Examples/*.hs-  examples/Examples/Multi/*.hs--library-  Exposed-Modules:      Data.Comp-                        Data.Comp.Annotation-                        Data.Comp.Sum-                        Data.Comp.Term-                        Data.Comp.Algebra-                        Data.Comp.Equality-                        Data.Comp.Ordering-                        Data.Comp.DeepSeq-                        Data.Comp.Generic-                        Data.Comp.TermRewriting-                        Data.Comp.Arbitrary-                        Data.Comp.Show-                        Data.Comp.Render-                        Data.Comp.Variables-                        Data.Comp.Decompose-                        Data.Comp.Unification-                        Data.Comp.Derive-                        Data.Comp.Derive.Utils-                        Data.Comp.Matching-                        Data.Comp.Desugar-                        Data.Comp.Mapping-                        Data.Comp.Thunk-                        Data.Comp.Ops-                        Data.Comp.Projection--                        Data.Comp.Multi-                        Data.Comp.Multi.Term-                        Data.Comp.Multi.Sum-                        Data.Comp.Multi.HFunctor-                        Data.Comp.Multi.HFoldable-                        Data.Comp.Multi.HTraversable-                        Data.Comp.Multi.Algebra-                        Data.Comp.Multi.Annotation-                        Data.Comp.Multi.Show-                        Data.Comp.Multi.Equality-                        Data.Comp.Multi.Ordering-                        Data.Comp.Multi.Variables-                        Data.Comp.Multi.Ops-                        Data.Comp.Multi.Mapping-                        Data.Comp.Multi.Derive-                        Data.Comp.Multi.Generic-                        Data.Comp.Multi.Desugar-                        Data.Comp.Multi.Projection--  Other-Modules:        Data.Comp.SubsumeCommon-                        Data.Comp.Derive.Equality-                        Data.Comp.Derive.Ordering-                        Data.Comp.Derive.Arbitrary-                        Data.Comp.Derive.Show-                        Data.Comp.Derive.DeepSeq-                        Data.Comp.Derive.SmartConstructors-                        Data.Comp.Derive.SmartAConstructors-                        Data.Comp.Derive.Foldable-                        Data.Comp.Derive.Traversable-                        Data.Comp.Derive.HaskellStrict--                        Data.Comp.Multi.Derive.HFunctor-                        Data.Comp.Multi.Derive.HFoldable-                        Data.Comp.Multi.Derive.HTraversable-                        Data.Comp.Multi.Derive.Equality-                        Data.Comp.Multi.Derive.Ordering-                        Data.Comp.Multi.Derive.Show-                        Data.Comp.Multi.Derive.SmartConstructors-                        Data.Comp.Multi.Derive.SmartAConstructors-----  Build-Depends:        base >= 4.16 && < 4.19,-                        QuickCheck >= 2.14.3 && < 2.15,-                        containers >= 0.6.8 && < 0.7,-                        deepseq >= 1.4 && < 1.6,-                        template-haskell >= 2.17 && < 2.22,-                        mtl >= 2.3.1 && < 2.4,-                        transformers >= 0.6.1 && < 0.7,-                        th-expand-syns >= 0.4.11 && < 0.5,-                        tree-view >= 0.5.1 && < 0.6--  Default-Language:     Haskell2010-  Default-Extensions:   FlexibleContexts-  hs-source-dirs:	src-  ghc-options:          -W---Test-Suite test-  Type:                 exitcode-stdio-1.0-  Main-is:		Data_Test.hs-  hs-source-dirs:	testsuite/tests examples src-  Build-Depends:        base >= 4.16 && < 5, template-haskell, containers, mtl >= 2.2.1,-                        QuickCheck >= 2, HUnit, test-framework, test-framework-hunit,-                        test-framework-quickcheck2 >= 0.3, deepseq, transformers, th-expand-syns-  Default-Language:     Haskell2010--  ghc-options:          -W -Wno-incomplete-patterns-  Other-Modules:-        Data.Comp-        Data.Comp.Algebra-        Data.Comp.Annotation-        Data.Comp.Arbitrary-        Data.Comp.Derive-        Data.Comp.Derive.Arbitrary-        Data.Comp.Derive.DeepSeq-        Data.Comp.Derive.Equality-        Data.Comp.Derive.Foldable-        Data.Comp.Derive.HaskellStrict-        Data.Comp.Derive.Ordering-        Data.Comp.Derive.Show-        Data.Comp.Derive.SmartAConstructors-        Data.Comp.Derive.SmartConstructors-        Data.Comp.Derive.Traversable-        Data.Comp.Derive.Utils-        Data.Comp.Desugar-        Data.Comp.Equality-        Data.Comp.Equality_Test-        Data.Comp.Examples.Comp-        Data.Comp.Examples.Multi-        Data.Comp.Examples_Test-        Data.Comp.Generic-        Data.Comp.Mapping-        Data.Comp.Multi-        Data.Comp.Multi.Algebra-        Data.Comp.Multi.Annotation-        Data.Comp.Multi.Derive-        Data.Comp.Multi.Derive.Equality-        Data.Comp.Multi.Derive.HFoldable-        Data.Comp.Multi.Derive.HFunctor-        Data.Comp.Multi.Derive.HTraversable-        Data.Comp.Multi.Derive.Ordering-        Data.Comp.Multi.Derive.Show-        Data.Comp.Multi.Derive.SmartAConstructors-        Data.Comp.Multi.Derive.SmartConstructors-        Data.Comp.Multi.Desugar-        Data.Comp.Multi.Equality-        Data.Comp.Multi.Generic-        Data.Comp.Multi.HFoldable-        Data.Comp.Multi.HFunctor-        Data.Comp.Multi.HTraversable-        Data.Comp.Multi.Mapping-        Data.Comp.Multi.Ops-        Data.Comp.Multi.Ordering-        Data.Comp.Multi.Show-        Data.Comp.Multi.Sum-        Data.Comp.Multi.Term-        Data.Comp.Multi.Variables-        Data.Comp.Multi.Variables_Test-        Data.Comp.Multi_Test-        Data.Comp.Ops-        Data.Comp.Ordering-        Data.Comp.Show-        Data.Comp.SubsumeCommon-        Data.Comp.Subsume_Test-        Data.Comp.Sum-        Data.Comp.Term-        Data.Comp.Thunk-        Data.Comp.Variables-        Data.Comp.Variables_Test-        Data.Comp_Test-        Examples.Common-        Examples.Desugar-        Examples.Eval-        Examples.EvalM-        Examples.Thunk-        Examples.Multi.Common-        Examples.Multi.Desugar-        Examples.Multi.Eval-        Examples.Multi.EvalI-        Examples.Multi.EvalM-        Test.Utils--                          -Benchmark algebra-  Type:                 exitcode-stdio-1.0-  Main-is:		Benchmark.hs-  hs-source-dirs:	src benchmark-  ghc-options:          -W -O2-  -- Disable short-cut fusion rules in order to compare optimised and unoptimised code.-  cpp-options:          -DNO_RULES-  Build-Depends:        base >= 4.16 && < 5, template-haskell, containers, mtl >= 2.2.1,-                        QuickCheck >= 2, deepseq, criterion, random, uniplate, transformers,-                        th-expand-syns-  Default-Language:     Haskell2010-  Other-Modules:-        Data.Comp-        Data.Comp.Algebra-        Data.Comp.Annotation-        Data.Comp.Arbitrary-        Data.Comp.DeepSeq-        Data.Comp.Derive-        Data.Comp.Derive.Arbitrary-        Data.Comp.Derive.DeepSeq-        Data.Comp.Derive.Equality-        Data.Comp.Derive.Foldable-        Data.Comp.Derive.HaskellStrict-        Data.Comp.Derive.Ordering-        Data.Comp.Derive.Show-        Data.Comp.Derive.SmartAConstructors-        Data.Comp.Derive.SmartConstructors-        Data.Comp.Derive.Traversable-        Data.Comp.Derive.Utils-        Data.Comp.Equality-        Data.Comp.Generic-        Data.Comp.Mapping-        Data.Comp.Ops-        Data.Comp.Ordering-        Data.Comp.Show-        Data.Comp.SubsumeCommon-        Data.Comp.Sum-        Data.Comp.Term-        Data.Comp.Thunk-        Data.Comp.Variables-        DataTypes-        DataTypes.Comp-        DataTypes.Standard-        DataTypes.Transform-        Functions.Comp-        Functions.Comp.Desugar-        Functions.Comp.Eval-        Functions.Comp.FreeVars-        Functions.Comp.Inference-        Functions.Standard-        Functions.Standard.Desugar-        Functions.Standard.Eval-        Functions.Standard.FreeVars-        Functions.Standard.Inference--source-repository head-  type:     git-  location: https://github.com/pa-ba/compdata-+Name:			compdata
+Version:		0.13.1
+x-revision: 1
+Synopsis:            	Compositional Data Types
+Description:
+
+  This library implements the ideas of
+  <http://dx.doi.org/10.1017/S0956796808006758 Data types a la carte>
+  as outlined in the paper
+  <http://dx.doi.org/10.1145/2036918.2036930 Compositional data types>. The
+  purpose of this library is to allow the programmer to construct data
+  types -- as well as the functions defined on them -- in a modular
+  fashion. The underlying idea is to separate the signature of a data
+  type from the fixed point construction that produces its recursive
+  structure. Signatures can then be composed and decomposed freely.
+  .
+  Building on that foundation, this library provides additional
+  extensions and (run-time) optimisations which make compositional data types
+  usable for practical implementations. In particular, it
+  provides an excellent framework for manipulating and analysing
+  abstract syntax trees in a type-safe manner. Thus, it is perfectly
+  suited for programming language implementations, especially, in an environment
+  consisting of a family of tightly interwoven /domain-specific languages/.
+  .
+  In concrete terms, this library provides the following features:
+  .
+  *  Compositional data types in the style of Wouter Swierstra's
+     Functional Pearl /Data types a la carte/. The implementation of
+     signature subsumption is based on the paper
+     /Composing and Decomposing Data Types/ (Workshop on Generic
+     Programming, 2014, to appear), which makes signature composition more
+     flexible.
+  .
+  *  Modular definition of functions on compositional data types through
+     catamorphisms and anamorphisms as well as more structured
+     recursion schemes such as primitive recursion  and co-recursion,
+     and course-of-value iteration and co-iteration.
+  .
+  *  Support for monadic computations via monadic variants of all
+     recursion schemes.
+  .
+  *  Support of a succinct programming style over compositional data types
+     via generic programming combinators that allow various forms of
+     generic transformations and generic queries.
+  .
+  *  Generalisation of compositional data types (terms) to
+     compositional data types \"with holes\" (contexts). This allows
+     flexible reuse of a wide variety of catamorphisms (called
+     /term homomorphisms/) as well as an efficient composition of them.
+  .
+  *  Operations on signatures, for example, to add and remove
+     annotations of abstract syntax trees. This includes combinators to
+     propagate annotations fully automatically through certain
+     term homomorphisms.
+  .
+  *  Optimisation of the implementation of recursion schemes. This
+     includes /short-cut fusion/ style optimisation rules which yield a
+     performance boost of up to factor six.
+  .
+  *  Automatic derivation of instances of all relevant type classes for
+     using compositional data types via /Template Haskell/. This includes
+     instances of 'Prelude.Eq', 'Prelude.Ord' and 'Prelude.Show' that are
+     derived via instances for functorial variants of them. Additionally,
+     also /smart constructors/, which allow to easily construct inhabitants
+     of compositional data types, are automatically generated.
+  .
+  *  /Mutually recursive data types/ and
+     /generalised algebraic data types (GADTs)/. All of the above is also lifted
+     to families of mutually recursive data types and (more generally) GADTs.
+     This extension resides in the module "Data.Comp.Multi".
+  .
+
+  Examples of using (generalised) compositional data types are bundled
+  with the package in the folder @examples@.
+  .
+
+  There are some supplementary packages, some of which were included
+  in previous versions of this package:
+  .
+  * <https://hackage.haskell.org/package/compdata-param compdata-param>:
+    a parametric variant of compositional data types to deal with variable
+    binders in a systematic way.
+  .
+  * <https://hackage.haskell.org/package/compdata-automata compdata-automata>:
+    advanced recursion schemes derived from tree automata that allow for a
+    higher degree of modularity and make it possible to apply fusion.
+  .
+  * <https://hackage.haskell.org/package/compdata-dags compdata-dags>:
+    recursion schemes on directed acyclic graphs.
+
+
+Category:               Generics
+License:                BSD3
+License-file:           LICENSE
+Author:                 Patrick Bahr, Tom Hvitved
+Maintainer:             paba@itu.dk
+Build-Type:             Simple
+Cabal-Version:          >=1.9.2
+bug-reports:            https://github.com/pa-ba/compdata/issues
+
+extra-source-files:
+  CHANGELOG.md
+  -- test files
+  testsuite/tests/*.hs
+  testsuite/tests/Data/*.hs
+  testsuite/tests/Data/Comp/*.hs
+  testsuite/tests/Data/Comp/Multi/*.hs
+  testsuite/tests/Data/Comp/Examples/*.hs
+  testsuite/tests/Test/Utils.hs
+  -- benchmark files
+  benchmark/*.hs
+  benchmark/DataTypes/*.hs
+  benchmark/Functions/*.hs
+  benchmark/Functions/Comp/*.hs
+  benchmark/Functions/Standard/*.hs
+  benchmark/Multi/DataTypes/*.hs
+  benchmark/Multi/Functions/Comp/*.hs
+  -- example files
+  examples/Examples/*.hs
+  examples/Examples/Multi/*.hs
+
+library
+  Exposed-Modules:      Data.Comp
+                        Data.Comp.Annotation
+                        Data.Comp.Sum
+                        Data.Comp.Term
+                        Data.Comp.Algebra
+                        Data.Comp.Equality
+                        Data.Comp.Ordering
+                        Data.Comp.DeepSeq
+                        Data.Comp.Generic
+                        Data.Comp.TermRewriting
+                        Data.Comp.Arbitrary
+                        Data.Comp.Show
+                        Data.Comp.Render
+                        Data.Comp.Variables
+                        Data.Comp.Decompose
+                        Data.Comp.Unification
+                        Data.Comp.Derive
+                        Data.Comp.Derive.Utils
+                        Data.Comp.Matching
+                        Data.Comp.Desugar
+                        Data.Comp.Mapping
+                        Data.Comp.Thunk
+                        Data.Comp.Ops
+                        Data.Comp.Projection
+
+                        Data.Comp.Multi
+                        Data.Comp.Multi.Term
+                        Data.Comp.Multi.Sum
+                        Data.Comp.Multi.HFunctor
+                        Data.Comp.Multi.HFoldable
+                        Data.Comp.Multi.HTraversable
+                        Data.Comp.Multi.Algebra
+                        Data.Comp.Multi.Annotation
+                        Data.Comp.Multi.Show
+                        Data.Comp.Multi.Equality
+                        Data.Comp.Multi.Ordering
+                        Data.Comp.Multi.Variables
+                        Data.Comp.Multi.Ops
+                        Data.Comp.Multi.Mapping
+                        Data.Comp.Multi.Derive
+                        Data.Comp.Multi.Generic
+                        Data.Comp.Multi.Desugar
+                        Data.Comp.Multi.Projection
+
+  Other-Modules:        Data.Comp.SubsumeCommon
+                        Data.Comp.Derive.Equality
+                        Data.Comp.Derive.Ordering
+                        Data.Comp.Derive.Arbitrary
+                        Data.Comp.Derive.Show
+                        Data.Comp.Derive.DeepSeq
+                        Data.Comp.Derive.SmartConstructors
+                        Data.Comp.Derive.SmartAConstructors
+                        Data.Comp.Derive.Foldable
+                        Data.Comp.Derive.Traversable
+                        Data.Comp.Derive.HaskellStrict
+
+                        Data.Comp.Multi.Derive.HFunctor
+                        Data.Comp.Multi.Derive.HFoldable
+                        Data.Comp.Multi.Derive.HTraversable
+                        Data.Comp.Multi.Derive.Equality
+                        Data.Comp.Multi.Derive.Ordering
+                        Data.Comp.Multi.Derive.Show
+                        Data.Comp.Multi.Derive.SmartConstructors
+                        Data.Comp.Multi.Derive.SmartAConstructors
+
+
+
+
+  Build-Depends:        base             >= 4.16   && < 4.20,
+                        QuickCheck       >= 2.14.3 && < 2.15,
+                        containers       >= 0.6.5  && < 0.8,
+                        deepseq          >= 1.4    && < 1.6,
+                        template-haskell >= 2.17   && < 2.22,
+                        mtl              >= 2.2.2  && < 2.4,
+                        transformers     >= 0.5.6  && < 0.7,
+                        th-expand-syns   >= 0.4.11 && < 0.5,
+                        tree-view        >= 0.5.1  && < 0.6
+
+  Default-Language:     Haskell2010
+  Default-Extensions:   FlexibleContexts
+  hs-source-dirs:	src
+  ghc-options:          -W
+
+
+Test-Suite test
+  Type:                 exitcode-stdio-1.0
+  Main-is:		Data_Test.hs
+  hs-source-dirs:	testsuite/tests examples src
+  Build-Depends:        base >= 4.16 && < 5, template-haskell, containers, mtl >= 2.2.1,
+                        QuickCheck >= 2, HUnit, test-framework, test-framework-hunit,
+                        test-framework-quickcheck2 >= 0.3, deepseq, transformers, th-expand-syns
+  Default-Language:     Haskell2010
+
+  ghc-options:          -W -Wno-incomplete-patterns
+  Other-Modules:
+        Data.Comp
+        Data.Comp.Algebra
+        Data.Comp.Annotation
+        Data.Comp.Arbitrary
+        Data.Comp.Derive
+        Data.Comp.Derive.Arbitrary
+        Data.Comp.Derive.DeepSeq
+        Data.Comp.Derive.Equality
+        Data.Comp.Derive.Foldable
+        Data.Comp.Derive.HaskellStrict
+        Data.Comp.Derive.Ordering
+        Data.Comp.Derive.Show
+        Data.Comp.Derive.SmartAConstructors
+        Data.Comp.Derive.SmartConstructors
+        Data.Comp.Derive.Traversable
+        Data.Comp.Derive.Utils
+        Data.Comp.Desugar
+        Data.Comp.Equality
+        Data.Comp.Equality_Test
+        Data.Comp.Examples.Comp
+        Data.Comp.Examples.Multi
+        Data.Comp.Examples_Test
+        Data.Comp.Generic
+        Data.Comp.Mapping
+        Data.Comp.Multi
+        Data.Comp.Multi.Algebra
+        Data.Comp.Multi.Annotation
+        Data.Comp.Multi.Derive
+        Data.Comp.Multi.Derive.Equality
+        Data.Comp.Multi.Derive.HFoldable
+        Data.Comp.Multi.Derive.HFunctor
+        Data.Comp.Multi.Derive.HTraversable
+        Data.Comp.Multi.Derive.Ordering
+        Data.Comp.Multi.Derive.Show
+        Data.Comp.Multi.Derive.SmartAConstructors
+        Data.Comp.Multi.Derive.SmartConstructors
+        Data.Comp.Multi.Desugar
+        Data.Comp.Multi.Equality
+        Data.Comp.Multi.Generic
+        Data.Comp.Multi.HFoldable
+        Data.Comp.Multi.HFunctor
+        Data.Comp.Multi.HTraversable
+        Data.Comp.Multi.Mapping
+        Data.Comp.Multi.Ops
+        Data.Comp.Multi.Ordering
+        Data.Comp.Multi.Show
+        Data.Comp.Multi.Sum
+        Data.Comp.Multi.Term
+        Data.Comp.Multi.Variables
+        Data.Comp.Multi.Variables_Test
+        Data.Comp.Multi_Test
+        Data.Comp.Ops
+        Data.Comp.Ordering
+        Data.Comp.Show
+        Data.Comp.SubsumeCommon
+        Data.Comp.Subsume_Test
+        Data.Comp.Sum
+        Data.Comp.Term
+        Data.Comp.Thunk
+        Data.Comp.Variables
+        Data.Comp.Variables_Test
+        Data.Comp_Test
+        Examples.Common
+        Examples.Desugar
+        Examples.Eval
+        Examples.EvalM
+        Examples.Thunk
+        Examples.Multi.Common
+        Examples.Multi.Desugar
+        Examples.Multi.Eval
+        Examples.Multi.EvalI
+        Examples.Multi.EvalM
+        Test.Utils
+
+                          
+Benchmark algebra
+  Type:                 exitcode-stdio-1.0
+  Main-is:		Benchmark.hs
+  hs-source-dirs:	src benchmark
+  ghc-options:          -W -O2
+  -- Disable short-cut fusion rules in order to compare optimised and unoptimised code.
+  cpp-options:          -DNO_RULES
+  Build-Depends:        base >= 4.16 && < 5, template-haskell, containers, mtl >= 2.2.1,
+                        QuickCheck >= 2, deepseq, criterion, random, uniplate, transformers,
+                        th-expand-syns
+  Default-Language:     Haskell2010
+  Other-Modules:
+        Data.Comp
+        Data.Comp.Algebra
+        Data.Comp.Annotation
+        Data.Comp.Arbitrary
+        Data.Comp.DeepSeq
+        Data.Comp.Derive
+        Data.Comp.Derive.Arbitrary
+        Data.Comp.Derive.DeepSeq
+        Data.Comp.Derive.Equality
+        Data.Comp.Derive.Foldable
+        Data.Comp.Derive.HaskellStrict
+        Data.Comp.Derive.Ordering
+        Data.Comp.Derive.Show
+        Data.Comp.Derive.SmartAConstructors
+        Data.Comp.Derive.SmartConstructors
+        Data.Comp.Derive.Traversable
+        Data.Comp.Derive.Utils
+        Data.Comp.Equality
+        Data.Comp.Generic
+        Data.Comp.Mapping
+        Data.Comp.Ops
+        Data.Comp.Ordering
+        Data.Comp.Show
+        Data.Comp.SubsumeCommon
+        Data.Comp.Sum
+        Data.Comp.Term
+        Data.Comp.Thunk
+        Data.Comp.Variables
+        DataTypes
+        DataTypes.Comp
+        DataTypes.Standard
+        DataTypes.Transform
+        Functions.Comp
+        Functions.Comp.Desugar
+        Functions.Comp.Eval
+        Functions.Comp.FreeVars
+        Functions.Comp.Inference
+        Functions.Standard
+        Functions.Standard.Desugar
+        Functions.Standard.Eval
+        Functions.Standard.FreeVars
+        Functions.Standard.Inference
+
+source-repository head
+  type:     git
+  location: https://github.com/pa-ba/compdata
+