packages feed

ptera 0.2.0.0 → 0.3.0.0

raw patch · 3 files changed

+5/−7 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Language.Parser.Ptera: class HasField (x :: k) r a | x r -> a
- Language.Parser.Ptera: getField :: HasField x r a => r -> a
- Language.Parser.Ptera.Syntax: class HasField (x :: k) r a | x r -> a
- Language.Parser.Ptera.Syntax: getField :: HasField x r a => r -> a
+ Language.Parser.Ptera: getExprField :: HasRuleExprField rules v => rules -> proxy v -> RuleExprType rules (RuleExprReturnType rules v)
+ Language.Parser.Ptera.Syntax: getExprField :: HasRuleExprField rules v => rules -> proxy v -> RuleExprType rules (RuleExprReturnType rules v)
+ Language.Parser.Ptera.Syntax.SafeGrammar: getExprField :: HasRuleExprField rules v => rules -> proxy v -> RuleExprType rules (RuleExprReturnType rules v)
- Language.Parser.Ptera: class (KnownSymbol v, HasField v rules ((RuleExprType rules) (RuleExprReturnType rules v))) => HasRuleExprField rules v where {
+ Language.Parser.Ptera: class KnownSymbol v => HasRuleExprField rules v where {
- Language.Parser.Ptera.Syntax: class (KnownSymbol v, HasField v rules ((RuleExprType rules) (RuleExprReturnType rules v))) => HasRuleExprField rules v where {
+ Language.Parser.Ptera.Syntax: class KnownSymbol v => HasRuleExprField rules v where {
- Language.Parser.Ptera.Syntax.SafeGrammar: class (KnownSymbol v, HasField v rules ((RuleExprType rules) (RuleExprReturnType rules v))) => HasRuleExprField rules v where {
+ Language.Parser.Ptera.Syntax.SafeGrammar: class KnownSymbol v => HasRuleExprField rules v where {

Files

ptera.cabal view
@@ -2,7 +2,7 @@ build-type:          Custom  name:                ptera-version:             0.2.0.0+version:             0.3.0.0 license:             Apache-2.0 OR MPL-2.0 license-file:        LICENSE copyright:           (c) 2021 Mizunashi Mana
src/Language/Parser/Ptera/Syntax.hs view
@@ -1,7 +1,6 @@ module Language.Parser.Ptera.Syntax (     T, -    HasField (..),     SafeGrammar.HasRuleExprField (..),     SafeGrammar.TokensTag,     SafeGrammar.RulesTag,
src/Language/Parser/Ptera/Syntax/SafeGrammar.hs view
@@ -68,12 +68,11 @@ class GrammarToken tokens elem where     tokenToTerminal :: Proxy tokens -> elem -> HEnum.T (TokensTag tokens) -class-    ( KnownSymbol v-    , HasField v rules ((RuleExprType rules) (RuleExprReturnType rules v))-    ) => HasRuleExprField rules v where+class KnownSymbol v => HasRuleExprField rules v where     type RuleExprReturnType rules v :: Type +    getExprField :: rules -> proxy v -> RuleExprType rules (RuleExprReturnType rules v)+     nonTerminalName :: rules -> proxy v -> String     nonTerminalName _ p = symbolVal p @@ -120,7 +119,7 @@             let vn = getNewV do symbolVal m             let d = nonTerminalName ruleDefs m             SyntaxGrammar.ruleT vn d do-                fixRuleExpr do getField @v ruleDefs+                fixRuleExpr do getExprField ruleDefs m          fixRuleExpr :: RuleExpr action rules tokens elem a             -> SyntaxGrammar.RuleExpr NonTerminal Terminal elem (Maybe ()) action