Numscript is a tiny language that helps you model complex financial transactions. It follows three design goals:
The intent should aways stand out; a Numscript program should never be ambiguous and have multiple possible interpretations. Programs should and readable by both developers non-technical financial users, providing a shared, executable definition of money-movements.
Monetary computations should always yield correct results, avoiding common currency rounding issues and accidental money creation or destruction. Execution is atomic, resulting in either all modeled transactions postings committed or none.
Numscript programs should always terminate and terminate predictably.
Here is a simple transaction example. We use multiple
send, which will result in a single transaction with multiple postings: