packages feed

cimple 0.0.10 → 0.0.11

raw patch · 3 files changed

+15/−5 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Cimple: type AstActions a = IdentityActions (State a) Text
+ Language.Cimple: removeSloc :: Node (Lexeme Text) -> Node (Lexeme Text)
+ Language.Cimple: type DefaultActions a = IdentityActions (State a) Text
+ Language.Cimple.Pretty: showNode :: Node (Lexeme Text) -> Text
- Language.Cimple: defaultActions :: AstActions state
+ Language.Cimple: defaultActions :: DefaultActions state

Files

cimple.cabal view
@@ -1,5 +1,5 @@ name:                 cimple-version:              0.0.10+version:              0.0.11 synopsis:             Simple C-like programming language homepage:             https://toktok.github.io/ license:              GPL-3
src/Language/Cimple.hs view
@@ -1,10 +1,12 @@ module Language.Cimple     ( module X-    , AstActions+    , DefaultActions     , defaultActions+    , removeSloc     ) where  import           Control.Monad.State.Strict  (State)+import qualified Control.Monad.State.Strict  as State import           Data.Text                   (Text)  import           Language.Cimple.Annot       as X@@ -14,7 +16,12 @@ import           Language.Cimple.Tokens      as X import           Language.Cimple.TraverseAst as X -type AstActions a = X.IdentityActions (State a) Text+type DefaultActions a = X.IdentityActions (State a) Text -defaultActions :: AstActions state+defaultActions :: DefaultActions state defaultActions = X.identityActions++removeSloc :: Node (Lexeme Text) -> Node (Lexeme Text)+removeSloc =+    flip State.evalState () . traverseAst defaultActions+        { doLexeme = \_ (L _ c t) _ -> pure $ L (AlexPn 0 0 0) c t }
src/Language/Cimple/Pretty.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE LambdaCase    #-} {-# LANGUAGE TupleSections #-}-module Language.Cimple.Pretty (ppTranslationUnit) where+module Language.Cimple.Pretty (ppTranslationUnit, showNode) where  import           Data.Fix                     (foldFix) import qualified Data.List                    as List@@ -449,3 +449,6 @@  ppTranslationUnit :: [Node (Lexeme Text)] -> Doc ppTranslationUnit decls = ppSemiSep (map ppNode decls) <> linebreak++showNode  :: Node (Lexeme Text) -> Text+showNode = Text.pack . show . fst . ppNode