packages feed

typed-peg-0.1.0.0: typed-peg.cabal

cabal-version:      3.0
name:               typed-peg
version:            0.1.0.0
synopsis:           Type-safe PEG parser combinators
description:
  A library for building PEG (Parsing Expression Grammar) parsers
  with compile-time safety guarantees. Grammar non-terminals are
  indexed by their nullability and FIRST sets at the type level,
  making left-recursive grammars a type error.
  .
  A quasi-quoter ('PEG.QQ') allows writing grammars in a concrete
  DSL syntax. Indentation-sensitive parsing is supported natively
  via 'PEG.Indent'.

license:            BSD-3-Clause
license-file:       LICENSE
author:             Rodrigo Ribeiro
maintainer:         rodrigo.ribeiro@ufop.edu.br
category:           Parsing
homepage:           https://github.com/rodrigogribeiro/typed-peg
bug-reports:        https://github.com/rodrigogribeiro/typed-peg/issues
build-type:         Simple
extra-source-files: README.md
extra-doc-files:    CHANGELOG.md
tested-with:        GHC == 9.6.7

source-repository head
  type:     git
  location: https://github.com/rodrigogribeiro/typed-peg

common common-opts
  ghc-options:
    -Wall
    -Wno-partial-type-signatures
    -Wno-unrecognised-pragmas
  default-language:   Haskell2010
  default-extensions:
    DataKinds
    GADTs
    TypeFamilies
    TypeOperators
    KindSignatures
    ScopedTypeVariables
    FlexibleContexts
    FlexibleInstances
    UndecidableInstances
    RankNTypes
    TypeApplications

library
  import:          common-opts
  hs-source-dirs:  src
  exposed-modules:
    PEG
    PEG.Grammar
    PEG.Indent
    PEG.Member
    PEG.Parse
    PEG.QQ
    PEG.QQ.HsExp
    PEG.Semantics.Simple
    PEG.Syntax
    PEG.TyLevel
    PEG.Type
  build-depends:
      base             >= 4.18 && < 5
    , template-haskell >= 2.19 && < 2.22

test-suite typed-peg-examples
  import:          common-opts
  type:            exitcode-stdio-1.0
  hs-source-dirs:  examples
  main-is:         Main.hs
  other-modules:   Arith, Layout
  build-depends:
      base
    , typed-peg