syntactic 3.2 → 3.2.1
raw patch · 3 files changed
+15/−1 lines, 3 files
Files
src/Language/Syntactic/Sugar.hs view
@@ -42,6 +42,13 @@ desugar = id sugar = id +instance Syntactic (ASTFull sym a)+ where+ type Domain (ASTFull sym a) = sym+ type Internal (ASTFull sym a) = a+ desugar = unASTFull+ sugar = ASTFull+ -- | Syntactic type casting resugar :: (Syntactic a, Syntactic b, Domain a ~ Domain b, Internal a ~ Internal b) => a -> b resugar = sugar . desugar
src/Language/Syntactic/Syntax.hs view
@@ -20,6 +20,7 @@ ( -- * Syntax trees AST (..) , ASTF+ , ASTFull (..) , Full (..) , (:->) (..) , SigRep (..)@@ -87,6 +88,12 @@ -- | Fully applied abstract syntax tree type ASTF sym a = AST sym (Full a)++-- | Fully applied abstract syntax tree+--+-- This type is like 'AST', but being a newtype, it is a proper type constructor+-- that can be partially applied.+newtype ASTFull sym a = ASTFull {unASTFull :: ASTF sym a} instance Functor sym => Functor (AST sym) where
syntactic.cabal view
@@ -1,5 +1,5 @@ Name: syntactic-Version: 3.2+Version: 3.2.1 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