cabal-version: 3.0
name: postgresql-types-algebra
version: 0.0.1
category: PostgreSQL, Codecs
synopsis: Type classes for PostgreSQL type mappings
description:
Core type classes and algebra extracted from the postgresql-types library.
Defines the fundamental abstractions for mapping Haskell types to PostgreSQL types,
including binary and textual encoding/decoding, type metadata, and error handling.
This package provides the type class algebra without concrete type implementations,
making it suitable as a lightweight dependency for libraries that want to define
their own PostgreSQL type mappings or work with the postgresql-types ecosystem.
homepage: https://github.com/nikita-volkov/postgresql-types-algebra
bug-reports: https://github.com/nikita-volkov/postgresql-types-algebra/issues
author: Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
copyright: (c) 2025, Nikita Volkov
license: MIT
license-file: LICENSE
extra-doc-files:
LICENSE
README.md
source-repository head
type: git
location: https://github.com/nikita-volkov/postgresql-types-algebra
common base
default-language: Haskell2010
default-extensions:
ApplicativeDo
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveTraversable
DerivingStrategies
DerivingVia
DuplicateRecordFields
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
LambdaCase
LiberalTypeSynonyms
MagicHash
MultiParamTypeClasses
MultiWayIf
NamedFieldPuns
NoImplicitPrelude
NoMonomorphismRestriction
NumericUnderscores
OverloadedStrings
ParallelListComp
PatternGuards
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UnboxedTuples
ViewPatterns
common executable
import: base
ghc-options:
-O2
-threaded
-with-rtsopts=-N
-rtsopts
-funbox-strict-fields
common test
import: base
ghc-options:
-threaded
-with-rtsopts=-N
library
import: base
hs-source-dirs: src/library
exposed-modules:
PostgresqlTypes.Algebra
build-depends:
attoparsec >=0.14 && <0.19,
base >=4.11 && <5,
bytestring >=0.10 && <0.13,
ptr-peeker ^>=0.1,
ptr-poker ^>=0.1.2.16,
tagged ^>=0.8.9,
text >=1.2 && <3,
text-builder ^>=1.0.0.4,