syntactic 3.6.3 → 3.7
raw patch · 5 files changed
+19/−29 lines, 5 filesdep ~deepseq
Dependency ranges changed: deepseq
Files
- src/Language/Syntactic/Decoration.hs +1/−1
- src/Language/Syntactic/Functional.hs +11/−14
- src/Language/Syntactic/Functional/WellScoped.hs +2/−2
- src/Language/Syntactic/Syntax.hs +3/−10
- syntactic.cabal +2/−2
src/Language/Syntactic/Decoration.hs view
@@ -51,7 +51,7 @@ instance (NFData1 sym, NFData1 info) => NFData1 (sym :&: info) where- rnf1 (s :&: i) = rnf1 s `seq` rnf1 i `seq` ()+ liftRnf r (s :&: i) = liftRnf r s `seq` liftRnf (`seq` ()) i instance {-# OVERLAPPING #-} Project sub sup => Project sub (sup :&: info) where
src/Language/Syntactic/Functional.hs view
@@ -74,10 +74,7 @@ import Control.Monad.State import Data.Dynamic import Data.List (genericIndex)-#if MIN_VERSION_GLASGOW_HASKELL(7,10,0,0)-#else-import Data.Proxy -- Needed by GHC < 7.8-#endif+import Data.Proxy import Data.Map (Map) import qualified Data.Map as Map import Data.Set (Set)@@ -90,9 +87,9 @@ -----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- * Syntactic constructs-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- | Literal data Literal sig@@ -158,8 +155,8 @@ instance NFData1 Binding where- rnf1 (Var v) = rnf v- rnf1 (Lam v) = rnf v+ liftRnf _ (Var v) = rnf v+ liftRnf _ (Lam v) = rnf v -- | 'equal' does strict identifier comparison; i.e. no alpha equivalence. --@@ -258,8 +255,8 @@ instance NFData1 BindingT where- rnf1 (VarT v) = rnf v- rnf1 (LamT v) = rnf v+ liftRnf _ (VarT v) = rnf v+ liftRnf _ (LamT v) = rnf v -- | 'equal' does strict identifier comparison; i.e. no alpha equivalence. --@@ -588,9 +585,9 @@ -----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- * Alpha-equivalence-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- | Environment used by 'alphaEq'' type AlphaEnv = [(Name,Name)]@@ -635,9 +632,9 @@ -----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- * Evaluation-----------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------- -- | Semantic function type of the given symbol signature type family Denotation sig
src/Language/Syntactic/Functional/WellScoped.hs view
@@ -68,8 +68,8 @@ instance NFData1 BindingWS where- rnf1 (VarWS Proxy) = ()- rnf1 LamWS = ()+ liftRnf _ (VarWS Proxy) = ()+ liftRnf _ LamWS = () instance Eval BindingWS where
src/Language/Syntactic/Syntax.hs view
@@ -142,7 +142,7 @@ instance NFData1 sym => NFData (AST sym sig) where- rnf (Sym s) = rnf1 s+ rnf (Sym s) = liftRnf (`seq` ()) s rnf (s :$ a) = rnf s `seq` rnf a -- | Count the number of symbols in an 'AST'@@ -215,8 +215,8 @@ instance (NFData1 sym1, NFData1 sym2) => NFData1 (sym1 :+: sym2) where- rnf1 (InjL s) = rnf1 s- rnf1 (InjR s) = rnf1 s+ liftRnf r (InjL s) = liftRnf r s+ liftRnf r (InjR s) = liftRnf r s -- | Symbol projection --@@ -397,13 +397,6 @@ -------------------------------------------------------------------------------- -- * Misc. ------------------------------------------------------------------------------------ | Higher-kinded version of 'NFData'-class NFData1 c- where- -- | Force a symbol to normal form- rnf1 :: c a -> ()- rnf1 s = s `seq` () -- | Constrain a symbol to a specific type symType :: Proxy sym -> sym sig -> sym sig
syntactic.cabal view
@@ -1,5 +1,5 @@ Name: syntactic-Version: 3.6.3+Version: 3.7 Synopsis: Generic representation and manipulation of abstract syntax Description: The library provides a generic representation of type-indexed abstract syntax trees (or indexed data types in general). It also permits the definition of open syntax@@ -81,7 +81,7 @@ constraints, containers, data-hash,- deepseq,+ deepseq >= 1.4.3.0, mtl >= 2 && < 3, syb, tree-view >= 0.5