Es-discuss - several decimal discussions
ihab.awad at gmail.com
ihab.awad at gmail.com
Sat Aug 23 08:56:47 PDT 2008
On Sat, Aug 23, 2008 at 8:44 AM, <ihab.awad at gmail.com> wrote:
> Decimals in Java are implemented at the library level, as
> java.math.BigDecimal. There is no expectation that intrinsic math
> operators work on them. Is this approach valid for ES; if not, then
> why not?
I should add that one approach for doing math formulae on Decimals
that look like intrinsic arithmetic operations is to build, at the
library level, a compiler for functions on decimals. So I could
imagine something like --
var valueAddedTaxCalc = /* ... */;
var shippingCostsCalc = /* ... */;
var totalCost = Decimal.compile(
{ vat: valueAddedTaxCalc, shipping: shippingCostsCalc },
"function (itemCost, zipCode) { itemCost + vat(itemCost) +
shipping(zipCode); }");
var basePrice = /* some Decimal number */;
var total = totalCost(basePrice);
My hypothesis is that decimal calculations are sufficiently localized
that this approach would work; and also, by enforcing strict isolation
between Decimal objects and other number forms, (i.e., not providing
implicit conversions), the necessary hygiene for (say) Sarbanes-Oxley
compliance would be more verifiable by looking at the code.
Ihab
--
Ihab A.B. Awad, Palo Alto, CA
More information about the Es-discuss
mailing list