Zero-error fixed-point arithmetic for financial applications.
module examples.finance -- Exact base-10 fixed point. No binary float errors. type Money = Fix<Base10, 18, 2> fn calculate_interest(principal: Money, rate: Fix<Base10, 18, 6>) -> Money { principal * rate } fn main() -> Unit requires IO { let bal : Money = 100.00 let rate = 0.05 io.print(bal + calculate_interest(bal, rate)) }