Commits

Patrick Bahr committed 15baec0 Merge

pulled over fixes from default branch

  • Participants
  • Parent commits 86d2877, c8c3e55
  • Branches macro

Comments (0)

Files changed (10)

 df34f596054b1b63e67287c29dbf6254d5ec2a03 version_0.5.2
 8a6362c5b5cb58e2472f1893fef8078ee3a440e0 version_0.5.3
 52392405c92f98de8c33d1b7d84a1b22627c24a2 version_0.6
+a92801822132a33201ff229a60ad0cc9e55756de version_0.6.1
 Name:			compdata
-Version:		0.6
+Version:		0.6.1
 Synopsis:            	Compositional Data Types
 Description:
 
      typed parametric higher-order abstract syntax (PHOAS). This extension
      resides in the module "Data.Comp.MultiParam".
   .
+  * Advanced recursion schemes derived from tree automata. These
+    recursion schemes allow for a higher degree of modularity and make
+    it possible to apply fusion. See /Modular Tree Automata/
+    (Mathematics of Program Construction, 263-299, 2012,
+    <http://dx.doi.org/10.1007/978-3-642-31113-0_14>).
+  .
 
   Examples of using (generalised) (parametric) compositional data types are
   bundled with the package in the libray @examples@.

src/Data/Comp/Annotation.hs

 {-# LANGUAGE TypeOperators, MultiParamTypeClasses, FlexibleInstances,
-  UndecidableInstances, Rank2Types, GADTs, ScopedTypeVariables #-}
+  UndecidableInstances, Rank2Types, GADTs, ScopedTypeVariables, FlexibleContexts #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Comp.Annotation

src/Data/Comp/Automata.hs

 {-# LANGUAGE Rank2Types, FlexibleContexts, ImplicitParams, GADTs, TypeOperators #-}
+
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Comp.Automata
 -- 
 -- Like regular term homomorphisms also stateful homomorphisms (as
 -- well as transducers) can be lifted to annotated signatures
--- (cf. Data.Comp.Annotation").
+-- (cf. "Data.Comp.Annotation").
+--
+-- The recursion schemes provided in this module are derived from tree
+-- automata. They allow for a higher degree of modularity and make it
+-- possible to apply fusion. The implementation is based on the paper
+-- /Modular Tree Automata/ (Mathematics of Program Construction,
+-- 263-299, 2012, <http://dx.doi.org/10.1007/978-3-642-31113-0_14>).
 --
 --------------------------------------------------------------------------------
 

src/Data/Comp/Multi/HFoldable.hs

-{-# LANGUAGE Rank2Types, TypeOperators, FlexibleInstances, ScopedTypeVariables, GADTs, MultiParamTypeClasses, UndecidableInstances, IncoherentInstances #-}
+{-# LANGUAGE RankNTypes, TypeOperators, FlexibleInstances, ScopedTypeVariables, GADTs, MultiParamTypeClasses, UndecidableInstances, IncoherentInstances #-}
 
 --------------------------------------------------------------------------------
 -- |

src/Data/Comp/Multi/Ops.hs

 {-# LANGUAGE TypeOperators, MultiParamTypeClasses, IncoherentInstances,
              FlexibleInstances, FlexibleContexts, GADTs, TypeSynonymInstances,
-             ScopedTypeVariables, FunctionalDependencies, UndecidableInstances, KindSignatures #-}
+             ScopedTypeVariables, FunctionalDependencies, UndecidableInstances, KindSignatures, RankNTypes{-|
+  
+-} #-}
 
 --------------------------------------------------------------------------------
 -- |

src/Data/Comp/Multi/Term.hs

-{-# LANGUAGE EmptyDataDecls, GADTs, KindSignatures, Rank2Types,
+{-# LANGUAGE EmptyDataDecls, GADTs, KindSignatures, RankNTypes,
   TypeOperators, ScopedTypeVariables, IncoherentInstances #-}
 --------------------------------------------------------------------------------
 -- |

src/Data/Comp/Multi/Variables.hs

 {-# LANGUAGE MultiParamTypeClasses, GADTs, FlexibleInstances,
-  OverlappingInstances, TypeOperators, KindSignatures, FlexibleContexts, ScopedTypeVariables, Rank2Types, TemplateHaskell #-}
+  OverlappingInstances, TypeOperators, KindSignatures, FlexibleContexts, ScopedTypeVariables, RankNTypes, TemplateHaskell #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Comp.Multi.Variables

src/Data/Comp/MultiParam/Ops.hs

 {-# LANGUAGE TypeOperators, MultiParamTypeClasses, FunctionalDependencies,
   FlexibleInstances, UndecidableInstances, IncoherentInstances,
-  KindSignatures #-}
+  KindSignatures, RankNTypes #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Comp.MultiParam.Ops
 ffst :: (f :*: g) a b -> f a b
 ffst (x :*: _) = x
 
-fsnd :: (f :*: g) a b -> g a b
+fsnd :: (f :*: g) a b -> g a b 
 fsnd (_ :*: x) = x
 
 

src/Data/Comp/Variables.hs

 {-# LANGUAGE MultiParamTypeClasses, GADTs, FlexibleInstances,
   OverlappingInstances, TypeOperators, TemplateHaskell #-}
+
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Comp.Variables
 -- account.
 --
 --------------------------------------------------------------------------------
+
 module Data.Comp.Variables
     (
      HasVars(..),