smirk-0.1.0.0: smirk.cabal
cabal-version: 3.0
name: smirk
version: 0.1.0.0
synopsis: Pure, effectful, resumable, step-budgeted PCRE interpreter for Haskell
description:
Smirk (;-P / ;-) is a pure, native Haskell PCRE regular expression engine
featuring step-bounded execution (ReDoS defense), pausable/resumable matching,
dual algebraic effect interpreters (effectful & polysemy), and mono-traversable
sequence polymorphism (Text, ByteString, Seq, Vector, NonEmpty).
license: Apache-2.0
license-file: LICENSE
author: Nadia Yvette Chambers
maintainer: Nadia Chambers <nadia.yvette.chambers@ik.me>
homepage: https://github.com/NadiaYvette/smirk
bug-reports: https://github.com/NadiaYvette/smirk/issues
category: Text, Regex, Effects
build-type: Simple
extra-doc-files:
README.md
, CHANGELOG.md
, LICENSE
source-repository head
type: git
location: https://github.com/NadiaYvette/smirk.git
subdir: packages/smirk
common common-options
default-language: GHC2021
default-extensions:
DataKinds
DeriveAnyClass
DeriveGeneric
DerivingStrategies
DuplicateRecordFields
GADTs
GeneralizedNewtypeDeriving
LambdaCase
MultiParamTypeClasses
OverloadedRecordDot
OverloadedStrings
RankNTypes
RecordWildCards
ScopedTypeVariables
TypeApplications
TypeFamilies
TypeOperators
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wpartial-fields
-Wredundant-constraints
library
import: common-options
hs-source-dirs: src
exposed-modules:
Smirk
Smirk.Core.AST
Smirk.Core.Parser
Smirk.Core.Bytecode
Smirk.Core.Compiler
Smirk.Core.Quote
Smirk.Engine.Sequence
Smirk.Engine.VM
Smirk.Glob
build-depends:
base >= 4.16 && < 5,
containers >= 0.6 && < 1,
bytestring >= 0.11 && < 1,
megaparsec >= 9.0 && < 10,
mono-traversable >= 1.0 && < 2,
parser-combinators >= 1.3 && < 2,
template-haskell >= 2.18 && < 3,
text >= 2.0 && < 3,
vector >= 0.12 && < 1
test-suite smirk-test
import: common-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules:
ParserSpec
VMSpec
SequenceSpec
QuoteSpec
GlobSpec
build-depends:
base >= 4.16 && < 5,
bytestring >= 0.11 && < 1,
containers >= 0.6 && < 1,
hspec >= 2.10 && < 3,
smirk,
text >= 2.0 && < 3,
vector >= 0.12 && < 1