cabal-version: 2.0
name: egison-pattern-src
version: 0.1.0.0
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/).
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
homepage: https://github.com/egison/egison-pattern-src#readme
license: BSD3
license-file: LICENSE
author: coord_e
maintainer: coord_e <me@coord-e.com>, Satoshi Egi <egi@egison.org>
copyright: Copyright 2020 coord_e
category: Language, Parser, Pretty Printer
build-type: Simple
extra-source-files:
README.md
CHANGELOG.md
-- see .github/workflows
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1
source-repository head
type: git
location: https://github.com/egison/egison-pattern-src
library
build-depends:
base >=4.8 && <5
, containers >=0.5.4 && <0.7
, free >=5.0.1 && <5.2
, 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
, text >=0.1.0 && <1.3
hs-source-dirs: src
exposed-modules:
Language.Egison.Parser.Pattern
Language.Egison.Pretty.Pattern
Language.Egison.Syntax.Pattern
Language.Egison.Syntax.Pattern.Base
Language.Egison.Syntax.Pattern.Combinator
Language.Egison.Syntax.Pattern.Expr
Language.Egison.Syntax.Pattern.Fixity
other-modules:
Language.Egison.Parser.Pattern.Combinator
Language.Egison.Parser.Pattern.Expr
Language.Egison.Parser.Pattern.Prim
Language.Egison.Parser.Pattern.Prim.Error
Language.Egison.Parser.Pattern.Prim.Location
Language.Egison.Parser.Pattern.Prim.Parse
Language.Egison.Parser.Pattern.Prim.ParseMode
Language.Egison.Parser.Pattern.Prim.Source
Language.Egison.Parser.Pattern.Token
Language.Egison.Pretty.Pattern.Context
Language.Egison.Pretty.Pattern.Error
Language.Egison.Pretty.Pattern.External
Language.Egison.Pretty.Pattern.Operator
Language.Egison.Pretty.Pattern.Prim
Language.Egison.Pretty.Pattern.Print
Language.Egison.Pretty.Pattern.PrintMode
Language.Egison.Syntax.Pattern.Fixity.Associativity
Language.Egison.Syntax.Pattern.Fixity.Precedence
Language.Egison.Syntax.Pattern.Fixity.Primitive
if impl(ghc >=8)
ghc-options: -Wredundant-constraints
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns
default-language: Haskell2010
default-extensions:
ConstraintKinds
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DuplicateRecordFields
ExistentialQuantification
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
KindSignatures
NamedFieldPuns
OverloadedStrings
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TypeApplications
TypeFamilies
test-suite test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: test.hs
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
build-depends:
base
, egison-pattern-src
, megaparsec
, mtl
, tasty
, tasty-hunit
, text
default-extensions:
DerivingStrategies
DuplicateRecordFields
FlexibleContexts
GeneralizedNewtypeDeriving
NamedFieldPuns
OverloadedStrings
-- cabal-fmt: expand test
other-modules:
Language.Egison.Parser.PatternSpec
Language.Egison.Pretty.PatternSpec
TestImport
build-tool-depends: tasty-discover:tasty-discover -any