packages feed

Cabal revisions of compdata-0.10.1

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

revision 1
-Name:			compdata-Version:		0.10.1-Synopsis:            	Compositional Data Types-Description:--  This library implements the ideas of /Data types a la carte/-  (Journal of Functional Programming, 18(4):423-436, 2008,-  <http://dx.doi.org/10.1017/S0956796808006758>) as outlined in the-  paper /Compositional data types/ (Workshop on Generic Programming,-  83-94, 2011, <http://dx.doi.org/10.1145/2036918.2036930>). 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:-  .-  * @compdata-param@-    <https://hackage.haskell.org/package/compdata-param>: a parametric-    variant of compositional data types to deal with variable binders-    in a systematic way.-  .-  * @compdata-automata@-    <https://hackage.haskell.org/package/compdata-automata>: advanced-    recursion schemes derived from tree automata that allow for a-    higher degree of modularity and make it possible to apply fusion.-  .-  * @compdata-dags@-    <https://hackage.haskell.org/package/compdata-dags>: recursion-    schemes on directed acyclic graphs.---Category:               Generics-License:                BSD3-License-file:           LICENSE-Author:                 Patrick Bahr, Tom Hvitved-Maintainer:             paba@diku.dk-Build-Type:             Simple-Cabal-Version:          >=1.9.2-bug-reports:            https://github.com/pa-ba/compdata/issues--extra-source-files:-  -- 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.7, base < 5, template-haskell, containers, mtl >= 2.2.1, QuickCheck >= 2 && < 2.9, derive,-                        deepseq, th-expand-syns, transformers, tree-view-  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.7, base < 5, template-haskell, containers, mtl >= 2.2.1, QuickCheck >= 2 && < 2.9, -                        HUnit, test-framework, test-framework-hunit, test-framework-quickcheck2 >= 0.3, derive,-                        th-expand-syns, deepseq, transformers--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.7, base < 5, template-haskell, containers, mtl >= 2.2.1, QuickCheck >= 2 && < 2.9, derive, deepseq, criterion, random, uniplate, th-expand-syns, transformers---source-repository head-  type:     git-  location: https://github.com/pa-ba/compdata-+Name:			compdata
+Version:		0.10.1
+x-revision: 1
+Synopsis:            	Compositional Data Types
+Description:
+
+  This library implements the ideas of /Data types a la carte/
+  (Journal of Functional Programming, 18(4):423-436, 2008,
+  <http://dx.doi.org/10.1017/S0956796808006758>) as outlined in the
+  paper /Compositional data types/ (Workshop on Generic Programming,
+  83-94, 2011, <http://dx.doi.org/10.1145/2036918.2036930>). 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:
+  .
+  * @compdata-param@
+    <https://hackage.haskell.org/package/compdata-param>: a parametric
+    variant of compositional data types to deal with variable binders
+    in a systematic way.
+  .
+  * @compdata-automata@
+    <https://hackage.haskell.org/package/compdata-automata>: advanced
+    recursion schemes derived from tree automata that allow for a
+    higher degree of modularity and make it possible to apply fusion.
+  .
+  * @compdata-dags@
+    <https://hackage.haskell.org/package/compdata-dags>: recursion
+    schemes on directed acyclic graphs.
+
+
+Category:               Generics
+License:                BSD3
+License-file:           LICENSE
+Author:                 Patrick Bahr, Tom Hvitved
+Maintainer:             paba@diku.dk
+Build-Type:             Simple
+Cabal-Version:          >=1.9.2
+bug-reports:            https://github.com/pa-ba/compdata/issues
+
+extra-source-files:
+  -- 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.7 && < 4.10, template-haskell >= 2.9 && < 2.12, containers < 0.6, mtl >= 2.2.1 && < 2.3, QuickCheck >= 2 && < 2.9, derive < 2.6,
+                        deepseq >= 1.1 && < 1.5, th-expand-syns < 0.5, transformers < 0.6, tree-view < 0.5
+  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.7, base < 5, template-haskell, containers, mtl >= 2.2.1, QuickCheck >= 2 && < 2.9, 
+                        HUnit, test-framework, test-framework-hunit, test-framework-quickcheck2 >= 0.3, derive,
+                        th-expand-syns, deepseq, transformers
+
+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.7, base < 5, template-haskell, containers, mtl >= 2.2.1, QuickCheck >= 2 && < 2.9, derive, deepseq, criterion, random, uniplate, th-expand-syns, transformers
+
+
+source-repository head
+  type:     git
+  location: https://github.com/pa-ba/compdata
+