convertible: Typeclasses and instances for converting between types

[ bsd3, data, library ] [ Propose Tags ]
Versions 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 (<4.2), bytestring, containers, HUnit, mtl, old‑locale, old‑time, QuickCheck, testpack, time (>= && <=1.1.4) [details]
License LicenseRef-LGPL
Copyright Copyright (c) 2009-2009 John Goerzen
Author John Goerzen
Maintainer John Goerzen <>
Revised Revision 1 made by ErikHesselink at Wed Apr 29 18:45:48 UTC 2015
Category Data
Home page
Uploaded by JohnGoerzen at Wed Dec 16 16:18:23 UTC 2009
Distributions Debian:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Executables runtests
Downloads 39114 total (154 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

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.





Choose the new smaller, split-up base package.


Build the executable to run unit tests


time > 1.1.3 has defined some more instances so omit them here


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees