packages feed

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 view
@@ -5,12 +5,12 @@ [![Hackage](https://img.shields.io/hackage/v/egison-pattern-src.svg)](https://hackage.haskell.org/package/egison-pattern-src) [![Hackage Deps](https://img.shields.io/hackage-deps/v/egison-pattern-src.svg)](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