Skip to content

Commit 2f739fd

Browse files
committed
Polish the docs
1 parent 11ee4db commit 2f739fd

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

postgresql-types.cabal

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ version: 0
44
category: PostgreSQL, Codecs
55
synopsis: Precise PostgreSQL types representation and driver-agnostic codecs
66
description:
7-
Haskell representation of PostgreSQL data types with mappings to and from both
8-
binary and textual formats of the PostgreSQL wire protocol. The types are implemented in their canonical forms that directly correspond to their PostgreSQL counterparts. The philosophy is that nuance matters. So all special values are represented without data loss or compromise.
7+
This package provides a Haskell representation of PostgreSQL data types, with mappings to and from both binary and textual formats of the PostgreSQL wire protocol. The types are implemented in their canonical forms, directly corresponding to their PostgreSQL counterparts. The philosophy is that nuance matters, so all special values are represented without data loss or compromise.
98

10-
The types presented by this package do not necessarily have direct mappings to the common Haskell types. Canonicalizing conversions and smart constructors are provided to address that.
9+
The types presented by this package do not necessarily have direct mappings to common Haskell types. Canonicalizing conversions and smart constructors are provided to address this.
1110

12-
E.g., any @text@ value from PostgreSQL makes valid 'Data.Text.Text' values in Haskell, but not every Haskell 'Data.Text.Text` value makes valid PostgreSQL @text@, because PostgreSQL does not allow NUL-bytes in text fields, but Haskell's 'Data.Text.Text' does. In case of dates the supported date ranges may differ between PostgreSQL and Haskell's \"time\" library. Therefore, conversions between these types and common Haskell types may be partial and may fail if the data cannot be represented in the target type.
11+
For example, any @text@ value from PostgreSQL produces valid 'Data.Text.Text' values in Haskell, but not every Haskell 'Data.Text.Text' value produces a valid PostgreSQL @text@, because PostgreSQL does not allow NUL bytes in text fields, whereas Haskell's 'Data.Text.Text' does. In the case of dates, the supported date ranges may differ between PostgreSQL and Haskell's "time" library. Therefore, conversions between these types and common Haskell types may be partial and may fail if the data cannot be represented in the target type.
1312

14-
All of the types supply 'Test.QuickCheck.Arbitrary' instances that cover the full range of valid PostgreSQL values. Every type is property-tested to validate round-trip conversions between binary and textual formats against PostgreSQL of version 9 to 18.
13+
All types supply 'Test.QuickCheck.Arbitrary' instances that cover the full range of valid PostgreSQL values. Every type is property-tested to validate round-trip conversions between binary and textual formats against PostgreSQL versions 9 to 18.
1514

1615
The library can be used as the basis for various PostgreSQL libraries. Ecosystem integration adapters are available for:
1716

0 commit comments

Comments
 (0)