@hackage currency-codes2.0.0.0
ISO-4217 Currency Codes
Installation
Dependencies (6)
Dependents (3)
@hackage/acme-everything, @hackage/forex2ledger, @hackage/mollie-api-haskell
Currency Codes (ISO-4217) 
Overview
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, ToSchema).
Example
import Data.Aeson (ToJSON(..))
import qualified Data.Aeson as Aeson
import Data.Currency (Currency, Alpha)
import qualified Data.Currency as Currency
import GHC.Generics (Generic)
import qualified Safe
myCurrencies :: [Currency]
myCurrencies =
[Currency.eur, Currency.usdDollar]
fromAlpha :: Alpha -> [Currency] -> Maybe Currency
fromAlpha α =
Safe.headMay . filter ((==) α . Currency.alpha)
data Transaction = Transaction
{ amount :: Integer
, currency :: Currency
} deriving (Eq, Show, Generic)
instance ToJSON Transaction where
toJSON =
Aeson.genericToJSON Aeson.defaultOptions