syntactic 1.5.2 → 1.6.1
raw patch · 5 files changed
+22/−4 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Language.Syntactic.Constructs.Binding: reuseLambda :: Lambda (b :-> Full (a -> b)) -> Lambda (c :-> Full (a -> c))
+ Language.Syntactic.Frontend.Monad: instance (Monad m, Applicative m) => Applicative (Mon dom m)
Files
- examples/NanoFeldspar/Core.hs +0/−1
- src/Language/Syntactic/Constructs/Binding.hs +4/−0
- src/Language/Syntactic/Frontend/Monad.hs +6/−0
- src/Language/Syntactic/Traversal.hs +8/−0
- syntactic.cabal +4/−3
examples/NanoFeldspar/Core.hs view
@@ -102,7 +102,6 @@ , semanticEval = \len init body -> foldl (flip body) init [0 .. len-1] } - instance Equality ForLoop where equal = equalDefault; exprHash = exprHashDefault instance Render ForLoop where renderArgs = renderArgsDefault instance Eval ForLoop where evaluate = evaluateDefault
src/Language/Syntactic/Constructs/Binding.hs view
@@ -108,6 +108,10 @@ where toTreeArgs [body] (Lambda v) = Node ("Lambda " ++ show v) [body] +-- | Allow an existing binding to be used with a body of a different type+reuseLambda :: Lambda (b :-> Full (a -> b)) -> Lambda (c :-> Full (a -> c))+reuseLambda (Lambda v) = Lambda v+ --------------------------------------------------------------------------------
src/Language/Syntactic/Frontend/Monad.hs view
@@ -10,6 +10,7 @@ +import Control.Applicative import Control.Monad.Cont import Data.Typeable @@ -41,6 +42,11 @@ where return a = Mon $ return a ma >>= f = Mon $ unMon ma >>= unMon . f++instance (Monad m, Applicative m) => Applicative (Mon dom m)+ where+ pure = return+ (<*>) = ap -- | One-layer desugaring of monadic actions desugarMonad
src/Language/Syntactic/Traversal.hs view
@@ -100,6 +100,14 @@ -> (forall sig . Args c1 sig -> m (Args c2 sig)) mapArgsM f = unwrapMonad . mapArgsA (WrapMonad . f) +-- | Right fold for an 'Args' list+foldrArgs+ :: (forall a . c (Full a) -> b -> b)+ -> b+ -> (forall sig . Args c sig -> b)+foldrArgs f b Nil = b+foldrArgs f b (a :* as) = f a (foldrArgs f b as)+ -- | Apply a (partially applied) symbol to a list of argument terms appArgs :: AST dom sig -> Args (AST dom) sig -> ASTF dom (DenResult sig) appArgs a Nil = a
syntactic.cabal view
@@ -1,5 +1,5 @@ Name: syntactic-Version: 1.5.2+Version: 1.6.1 Synopsis: Generic abstract syntax, and utilities for embedded languages Description: This library provides: .@@ -46,7 +46,8 @@ Author: Emil Axelsson Maintainer: emax@chalmers.se Copyright: Copyright (c) 2011-2012, Emil Axelsson-Homepage: http://projects.haskell.org/syntactic/+Homepage: http://hub.darcs.net/emax/syntactic+Bug-reports: http://hub.darcs.net/emax/syntactic/issues Category: Language Build-type: Simple Cabal-version: >=1.10@@ -59,7 +60,7 @@ source-repository head type: darcs- location: http://projects.haskell.org/syntactic/+ location: http://hub.darcs.net/emax/syntactic library exposed-modules: