packages feed

TTTAS 0.4.0 → 0.4.1

raw patch · 4 files changed

+13/−10 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.AbstractSyntax.TTTAS: (&&&&) :: (Arrow2 arr) => arr a b -> arr a b' -> arr a (Pair b b')
+ Language.AbstractSyntax.TTTAS: (&&&&) :: Arrow2 arr => arr a b -> arr a b' -> arr a (Pair b b')
- Language.AbstractSyntax.TTTAS: (****) :: (Arrow2 arr) => arr a b -> arr a' b' -> arr (Pair a a') (Pair b b')
+ Language.AbstractSyntax.TTTAS: (****) :: Arrow2 arr => arr a b -> arr a' b' -> arr (Pair a a') (Pair b b')
- Language.AbstractSyntax.TTTAS: (>>>>) :: (Category2 cat) => cat a b -> cat b c -> cat a c
+ Language.AbstractSyntax.TTTAS: (>>>>) :: Category2 cat => cat a b -> cat b c -> cat a c
- Language.AbstractSyntax.TTTAS: arr2 :: (Arrow2 arr) => (forall s. a s -> b s) -> arr a b
+ Language.AbstractSyntax.TTTAS: arr2 :: Arrow2 arr => (forall s. a s -> b s) -> arr a b
- Language.AbstractSyntax.TTTAS: class (Category2 arr) => Arrow2 arr
+ Language.AbstractSyntax.TTTAS: class Category2 arr => Arrow2 arr
- Language.AbstractSyntax.TTTAS: class (Arrow2 arr) => ArrowLoop2 arr
+ Language.AbstractSyntax.TTTAS: class Arrow2 arr => ArrowLoop2 arr
- Language.AbstractSyntax.TTTAS: first2 :: (Arrow2 arr) => arr a b -> arr (Pair a c) (Pair b c)
+ Language.AbstractSyntax.TTTAS: first2 :: Arrow2 arr => arr a b -> arr (Pair a c) (Pair b c)
- Language.AbstractSyntax.TTTAS: loop2 :: (ArrowLoop2 arr) => arr (Pair a c) (Pair b c) -> arr a b
+ Language.AbstractSyntax.TTTAS: loop2 :: ArrowLoop2 arr => arr (Pair a c) (Pair b c) -> arr a b
- Language.AbstractSyntax.TTTAS: second2 :: (Arrow2 arr) => arr a b -> arr (Pair c a) (Pair c b)
+ Language.AbstractSyntax.TTTAS: second2 :: Arrow2 arr => arr a b -> arr (Pair c a) (Pair c b)

Files

TTTAS.cabal view
@@ -1,7 +1,7 @@ cabal-version:      >=1.2.3 build-type:         Simple name:               TTTAS-version:            0.4.0+version:            0.4.1 license:            LGPL license-file:       COPYRIGHT maintainer:         Marcos Viera <mviera@fing.edu.uy>@@ -10,9 +10,11 @@ synopsis:           Typed Transformations of Typed Abstract Syntax category:           Language  copyright:          Universiteit Utrecht-build-depends:      base >= 4 && < 5, haskell98-exposed-modules:    Language.AbstractSyntax.TTTAS       -extensions:         Arrows, GADTs, CPP-hs-source-dirs:     src extra-source-files: README, LICENSE-LGPL, TTTAS.bib-ghc-options:        -Wall+library+        build-depends:      base >= 4 && < 5, haskell98+        exposed-modules:    Language.AbstractSyntax.TTTAS       +        extensions:         Arrows, KindSignatures, RankNTypes, GADTs, CPP+        hs-source-dirs:     src+        ghc-options:        -Wall+
examples/CSE.hs view
@@ -1,4 +1,4 @@-{-# OPTIONS -fglasgow-exts -XArrows #-}+{-# OPTIONS -fglasgow-exts -XGADTs -XArrows #-}  module CSE where 
examples/CSE2.hs view
@@ -1,4 +1,4 @@-{-# OPTIONS -fglasgow-exts  #-}+{-# OPTIONS -fglasgow-exts -XGADTs  #-} module CSE2 where    import Language.AbstractSyntax.TTTAS
src/Language/AbstractSyntax/TTTAS.hs view
@@ -1,4 +1,4 @@-{-# OPTIONS -fglasgow-exts -XArrows #-}
+{-# OPTIONS -XKindSignatures -XRankNTypes -XArrows -XGADTs #-}
 {-# LANGUAGE CPP #-}
 
 {-| 
@@ -445,7 +445,8 @@        ) 
 
   second2 f = arr2 swap >>>> first2 f >>>> arr2 swap
-              where   swap ~(P (x, y)) = P (y, x)
+              where   swap :: Pair c a s -> Pair a c s
+                      swap ~(P (x, y)) = P (y, x)
              
   f **** g =  first2 f >>>> second2 g