currency-codes: ISO-4217 Currency Codes

[ data, library, mit ] [ Propose Tags ]

ISO-4217 Currency Codes

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,, (info)
Change log
Dependencies aeson (>=, base (>=4 && <5), bson (>=0.2.0), deepseq, random (>=, safe (>=0.2), text (>= [details]
License MIT
Copyright (c) 2017-2018 Chordify
Author Chordify
Maintainer Matthias Benkort <>
Category Data
Home page
Bug tracker
Uploaded by KtorZ at 2018-03-19T17:22:58Z
Distributions NixOS:
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 4746 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-19 [all 1 reports]

Readme for currency-codes-

[back to package description]

Currency Codes (ISO-4217)


This package mainly provides 2 data types to represent and manipulate currencies according to the ISO 4217 standard.

It also provides a handful of instances for common typeclasses (Show, Read, Random, ToJSON, FromJSON, Val, Data, Typeable, Generic, NFData).


import           Data.Aeson     (ToJSON(..))
import           Data.Currency  (Currency, Alpha(..))
import           GHC.Generics   (Generic)
import qualified Safe
import qualified Data.Aeson     as Aeson
import qualified Data.Currency  as Currency

myCurrencies :: [Currency]
myCurrencies =
  [ Currency.fromAlpha EUR
  , Currency.fromAlpha USD

data Transaction = Transaction
  { amount   :: Integer
  , currency :: Currency
  } deriving (Eq, Show, Generic)

instance ToJSON Transaction where
  toJSON = 
    Aeson.genericToJSON Aeson.defaultOptions


MIT © 2017-2018 Chordify