egison-pattern-src 0.2.1.0 → 0.2.1.1
raw patch · 3 files changed
+13/−12 lines, 3 filesdep ~prettyprinterdep ~recursion-schemesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: prettyprinter, recursion-schemes
API changes (from Hackage documentation)
- Language.Egison.Syntax.Pattern.Base: AndF :: r_anvI -> r_anvI -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: AndF :: r_anzL -> r_anzL -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: CollectionF :: [r_anvI] -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: CollectionF :: [r_anzL] -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: InfixF :: n_aiVu -> r_anvI -> r_anvI -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: InfixF :: n_aiZ9 -> r_anzL -> r_anzL -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: NotF :: r_anvI -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: NotF :: r_anzL -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: OrF :: r_anvI -> r_anvI -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: OrF :: r_anzL -> r_anzL -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: PatternF :: n_aiVu -> [r_anvI] -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: PatternF :: n_aiZ9 -> [r_anzL] -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: PredicateF :: e_aiVw -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: PredicateF :: e_aiZb -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: TupleF :: [r_anvI] -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: TupleF :: [r_anzL] -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: ValueF :: e_aiVw -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: ValueF :: e_aiZb -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: VariableF :: v_aiVv -> ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: VariableF :: v_aiZa -> ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: WildcardF :: ExprF r_anvI
+ Language.Egison.Syntax.Pattern.Base: WildcardF :: ExprF r_anzL
- Language.Egison.Syntax.Pattern.Base: data ExprF (n_aiVu :: Type) (v_aiVv :: Type) (e_aiVw :: Type) r_anvI
+ Language.Egison.Syntax.Pattern.Base: data ExprF (n_aiZ9 :: Type) (v_aiZa :: Type) (e_aiZb :: Type) r_anzL
Files
- README.md +6/−6
- egison-pattern-src.cabal +6/−5
- src/Language/Egison/Syntax/Pattern.hs +1/−1
README.md view
@@ -5,12 +5,12 @@ [](https://hackage.haskell.org/package/egison-pattern-src) [](http://packdeps.haskellers.com/reverse/egison-pattern-src) -The [egison-pattern-src](https://hackage.haskell.org/package/egison-pattern-src) provides a standalone syntax definition for patterns in [Egison programming language](https://www.egison.org/).+The [egison-pattern-src](https://hackage.haskell.org/package/egison-pattern-src) provides a standalone syntax definition for patterns in [the Egison programming language](https://www.egison.org/). This package enables you to embed Egison's patterns in your parser (pretty-printer) by supplying expression and name parsers (printers) externally. ## Syntax -The following is a simplified syntax of pattern expressions where `x`, `v`, `op` and `e` are respectively names, variable names, user-defined infix operators and expressions in host language.+The following is a simplified syntax of pattern expressions where `v`, `c`, `op` and `e` are meta-variables for variable names, constructor names, user-defined infix operators, and expressions in host language, respectively. ``` p ::= _ (wildcard pattern)@@ -19,11 +19,11 @@ | ?e (predicate pattern) | (p_1, p_2, ..., p_n) (tuple pattern) | [p_1, p_2, ..., p_n] (collection pattern)- | p & p (and pattern)- | p | p (or pattern)- | !p (not pattern)+ | p & p (and-pattern)+ | p | p (or-pattern)+ | !p (not-pattern) | p op p (user-defined infix pattern)- | x p_1 p_2 ... p_n (constructor pattern)+ | c p_1 p_2 ... p_n (constructor pattern) ``` ## License
egison-pattern-src.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.0 name: egison-pattern-src-version: 0.2.1.0+version: 0.2.1.1 synopsis: Manipulating Egison patterns: abstract syntax, parser, and pretty-printer description:- @egison-pattern-src@ provides a standalone syntax definition for patterns in [Egison programming language](https://www.egison.org/).+ @egison-pattern-src@ provides a standalone syntax definition for patterns in [the Egison programming language](https://www.egison.org/). This package enables you to embed Egison's patterns in your parser (pretty-printer) by supplying expression and name parsers (printers) externally. bug-reports: https://github.com/egison/egison-pattern-src/issues@@ -22,7 +22,8 @@ CHANGELOG.md -- see .github/workflows-tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1+tested-with:+ GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1 source-repository head type: git@@ -36,8 +37,8 @@ , megaparsec >=7.0.0 && <8.1 , mtl ^>=2.2.1 , parser-combinators >=1.0.0 && <1.3- , prettyprinter >=1.0.0 && <1.7- , recursion-schemes >=5.0.2 && <5.2+ , prettyprinter >=1.0.0+ , recursion-schemes >=5.2 , text >=0.1.0 && <1.3 hs-source-dirs: src
src/Language/Egison/Syntax/Pattern.hs view
@@ -4,7 +4,7 @@ -- Description: Manipulating Egison patterns: abstract syntax, parser, and pretty-printer -- Stability: experimental ----- This package provides a standalone syntax definition for patterns in [Egison programming language](https://www.egison.org/).+-- This package provides a standalone syntax definition for patterns in [the Egison programming language](https://www.egison.org/). module Language.Egison.Syntax.Pattern ( module X