convertible: Typeclasses and instances for converting between types

[ bsd3, data, library ] [ Propose Tags ]

convertible provides a typeclass with a single function that is designed to help convert between different types: numeric values, dates and times, and the like. The conversions perform bounds checking and return a pure Either value. This means that you need not remember which specific function performs the conversion you desire.

Also included in the package are optional instances that provide conversion for various numeric and time types, as well as utilities for writing your own instances.

Finally, there is a function that will raise an exception on bounds-checking violation, or return a bare value otherwise, implemented in terms of the safer function described above.

Convertible is also used by HDBC 2.0 for handling marshalling of data to and from databases.

Convertible is backed by an extensive test suite and passes tests on GHC and Hugs.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 1.0.0, 1.0.1, 1.0.3, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9,,,,,,,
Dependencies base (>=3 && <5), bytestring (>=0.10.2), containers, mtl, old-time, text (>=0.8), time (>=1.1.3) [details]
License BSD-3-Clause
Copyright Copyright (c) 2009-2011 John Goerzen
Author John Goerzen
Maintainer Janus Troelsen <>
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by janus at 2022-05-27T14:36:39Z
Distributions Debian:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 67 direct, 175 indirect [details]
Downloads 52426 total (95 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-05-27 [all 1 reports]