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 +8/−6
- examples/CSE.hs +1/−1
- examples/CSE2.hs +1/−1
- src/Language/AbstractSyntax/TTTAS.hs +3/−2
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