packages feed

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