packages feed

smirk-penelope-0.1.0.0: smirk-penelope.cabal

cabal-version:      3.0
name:               smirk-penelope
version:            0.1.0.0
synopsis:           Penelope effect system interface for the Smirk PCRE engine
description:
    Exposes Smirk's pure, step-bounded PCRE engine as an algebraic effect for
    the 'penelope' effect system ('Smirk.Effect.Penelope'), with pure and
    fuel-bounded interpreters over flat Polytropos row representations.
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

tested-with:
    GHC == 9.12.4
  , GHC == 9.14.1

source-repository head
    type:     git
    location: https://github.com/NadiaYvette/smirk.git
    subdir:   packages/smirk-penelope

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.Effect.Penelope
    build-depends:
        base >= 4.16 && < 5,
        penelope-core >= 0.1 && < 0.2,
        penelope-effects >= 0.1 && < 0.2,
        polytropos-core >= 0.1 && < 0.2,
        polytropos-plugin >= 0.1 && < 0.2,
        smirk >= 0.1 && < 0.2,
        text >= 2.0 && < 3

test-suite smirk-penelope-test
    import:             common-options
    type:               exitcode-stdio-1.0
    hs-source-dirs:     test
    main-is:            Spec.hs
    ghc-options:
        -fplugin=Polytropos.Plugin
    build-depends:
        base >= 4.16 && < 5,
        hspec >= 2.10 && < 3,
        penelope-core >= 0.1 && < 0.2,
        penelope-effects >= 0.1 && < 0.2,
        polytropos-core >= 0.1 && < 0.2,
        polytropos-plugin >= 0.1 && < 0.2,
        smirk >= 0.1 && < 0.2,
        smirk-penelope,
        text >= 2.0 && < 3