The money library provides a typesafe wrapper around numeric types that allows only those operations which are sensible in the context of monetary sums. For instance, adding two monetary values together makes sense, but multiplying money by money doesn't make any sense. Functions are also provided to multiply money by constants, among other things.
frasertweedale/dollaridoos
A typesafe wrapper around monetary values represented as numeric values, allowing only sensible operations.
HaskellBSD-3-Clause