@@ -1,4 +1,4 @@
1−Version 0.1:
1+Version 0.1: (2012-05-04)
22 * Renamed several modules, typeclasses, and functions:
33
44 QueryParams (renderParams) -> ToRow (toRow)
@@ -6,19 +6,19 @@ Version 0.1:
66 Param (render) -> ToField (toField)
77 Result (convert) -> FromField (fromField)
88
9− * Added the Database.PostgreSQL.Simple.Ok module
10−
9+ * Added the `Database.PostgreSQL.Simple.Ok` module, a variation of
10+ `Either SomeException` that has an instance for `Alternative` and also
11+ uses a list of exceptions to track the ways it has failed.
12+
1113 * Changed the return type of `fromField` and `fromRow` from
12− `Either SomeException` to `Ok`. Either doesn't have an instance for
13− Alternative, and an orphaned instance inside of postgresql-simple is a
14− very bad idea. Also, Ok returns a list of Exceptions so that you can
15− see all the ways it has failed.
16−
17− * Thanks to Ozgun Ataman, the "FromRow" typeclass has been massively
18− improved. The result is simpler definitions and better compositionality.
19− Also, user-defined instances need not be to be concerned about forcing
20− the converted results, as
21−
14+ `Either SomeException` to `Ok`.
15+
16+ * Thanks to suggestions from Ozgun Ataman, the `FromRow` typeclass has been
17+ massively improved. The result is simpler definitions and better
18+ compositionality. Also, user-defined instances need not be to be
19+ concerned about forcing the converted results to WHNF. Here is an
20+ example comparing the old to the new:
21+
2222 instance (Result a, Result b) => QueryResults (a,b) where
2323 convertResults [fa,fb] [va,vb] = do
2424 !a <- convert fa va
@@ -29,14 +29,14 @@ Version 0.1:
2929 instance (FromField a, FromField b) => FromRow (a,b) where
3030 fromRow = (,) <$> field <*> field
3131
32− * Added :., a pair that allows one to compose "FromRow" instances:
33−
32+ * Added `(:.)`, a pair that allows one to compose `FromRow` instances:
33+
3434 instance (FromRow a, FromRow b) => FromRow (a :. b) where
3535 fromRow = (:.) <$> fromRow <*> fromRow
3636
37− * Moved the contents Field module into the "FromField" module.
37+ * Moved the contents `Field` module into the `FromField` module.
3838
3939 * Removed the `RawResult` type.
4040
41− * Added `DefaultIsolationLevel` as a distinct `IsolationLevel` option and
42− `DefaultReadWriteMode as a distinct `ReadWriteMode` option.
41+ * Added `DefaultIsolationLevel` as a distinct `IsolationLevel` option
42+ and `DefaultReadWriteMode` as a distinct `ReadWriteMode`.