packages feed

parsable-0.1.0.0: parsable.cabal

cabal-version:      3.0
name:               parsable
version:            0.1.0.0
synopsis:           Parsable and Printable classes

tested-with:        GHC == { 9.0.2, 9.2.8, 9.4.8, 9.6.6, 9.8.4, 9.10.1, 9.12.1 }

description:
    Provides the Parsable and Printable classes, which form a round-trip
    equivalence between a data type and a String. Useful for types that
    are generated directly from a String and need their internal
    representation to be converted back to a String.

homepage:           https://github.com/gentoo-haskell/cabal-portage/tree/main/parsable
bug-reports:        https://github.com/gentoo-haskell/cabal-portage/issues

license:            AGPL-3.0-only
license-file:       LICENSE
author:             Gentoo Authors
maintainer:         hololeap@protonmail.com

copyright:          Copyright (C) 2022-2025 Gentoo Authors
category:           Text
extra-doc-files: CHANGELOG.md

source-repository head
    type:           git
    location:       https://github.com/hololeap/cabal-portage.git
    branch:         main
    subdir:         parsable

flag pedantic
    description: Enable -Werror
    default:     False
    manual:      True

common all
    ghc-options:        -Wall
                        -foptimal-applicative-do
    if flag(pedantic)
        ghc-options:    -Werror

library
    import: all
    exposed-modules:
        , Data.Parsable

    other-extensions:
        , ConstrainedClassMethods
        , DefaultSignatures
        , DeriveTraversable
        , FlexibleContexts
        , FlexibleInstances
        , LambdaCase
        , TypeFamilies

    build-depends:
        , base >=4.13 && <5
        , parsec <3.2
        , transformers <0.7
        , text <2.2
    hs-source-dirs:   src
    default-language: Haskell2010

    other-extensions:
        , ConstrainedClassMethods
        , DefaultSignatures
        , DeriveGeneric
        , DeriveTraversable
        , DerivingVia
        , FlexibleContexts
        , FlexibleInstances
        , GeneralizedNewtypeDeriving
        , LambdaCase
        , ScopedTypeVariables
        , TypeApplications
        , TypeFamilies