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 +1/−1
- src/Language/Parser/Ptera/Syntax.hs +0/−1
- src/Language/Parser/Ptera/Syntax/SafeGrammar.hs +4/−5
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