| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Haspara.TH
Description
This module provides template-haskell functions for various Haspara definitions.
Synopsis
- quantityTH :: KnownNat s => Scientific -> Q (TExp (Quantity s))
- currencyTH :: Text -> Q (TExp Currency)
- currencyPairTH :: Text -> Text -> Q (TExp CurrencyPair)
Documentation
quantityTH :: KnownNat s => Scientific -> Q (TExp (Quantity s)) Source #
Constructs a Quantity value at compile-time using -XTemplateHaskell.
>>>$$(quantityTH 0.00) :: Quantity 20.00>>>$$(quantityTH 0.09) :: Quantity 20.09>>>$$(quantityTH 0.009) :: Quantity 2... ..."Underflow while trying to create quantity: 9.0e-3" ...>>>$$(quantityTH 0.009) :: Quantity 30.009
currencyTH :: Text -> Q (TExp Currency) Source #
Constructs a Currency value at compile-time using -XTemplateHaskell.
>>>$$(currencyTH "USD")USD>>>$$(currencyTH "usd")... ...Currency code error! Expecting at least 3 uppercase ASCII letters, but received: usd ...
currencyPairTH :: Text -> Text -> Q (TExp CurrencyPair) Source #
Constructs a CurrencyPair value at compile-time using -XTemplateHaskell.
>>>$$(currencyPairTH "EUR" "USD")EUR/USD>>>$$(currencyPairTH "USD" "USD")USD/USD>>>$$(currencyPairTH "USD" "eur")... ...Currency code error! Expecting at least 3 uppercase ASCII letters, but received: eur ...