The scientific package

[ Tags: bsd3, data, library ] [ Propose Tags ]

Data.Scientific provides a space efficient and arbitrary precision scientific number type.

Scientific numbers are represented using scientific notation. It uses a coefficient c :: Integer and a base-10 exponent e :: Int (do note that since we're using an Int to represent the exponent these numbers aren't truly arbitrary precision). A scientific number corresponds to the Fractional number: fromInteger c * 10 ^^ e.

The main application of Scientific is to be used as the target of parsing arbitrary precision numbers coming from an untrusted source. The advantages over using Rational for this are that:

> read "1e1000000000" :: Scientific


Change log changelog
Dependencies array (>=0.1 && <0.6), base (>=4.3 && <4.8), bytestring (==0.10.*), deepseq (==1.3.*), ghc-prim, hashable (>=1.1.2 && <1.3), integer-gmp, integer-simple, text (>=0.8 && <1.3) [details]
License BSD3
Author Bas van Dijk
Maintainer Bas van Dijk <>
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded Mon Oct 27 07:41:43 UTC 2014 by BasVanDijk
Distributions Arch:, Debian:, Fedora:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 330349 total (659 in the last 30 days)
Rating 1.75 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





Provide the Data.ByteString.Builder.Scientific module (requires bytestring >= 0.10)


Use the integer-simple package instead of integer-gmp


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


Maintainer's Corner

For package maintainers and hackage trustees