AFC - Abacus Formula Compiler for Java

Writing Code For AFC

Again, thank you! You seem willing to contribute code to AFC. In these pages I will tell you how to go about it.

We have to cover quite a bit of ground. This is because AFC is developed with great attention to quality. But never fear, the examples will make it all clear.

House Rules
Basic rules to help you and everyone else produce a consistent and high-quality product.
Add A Primitive Function
How to add a primitive spreadsheet function, ABS(), by writing a template method in Java. Introduces the fundamental contribution rules shown above.
Add A High-Level Function (contains MathML, use Firefox to view)
How to add a high-level spreadsheet function, COMBIN(), which is defined by rewriting it using lower-level functions.
Add A High-Level Aggregator (contains MathML, use Firefox to view)
How to add an aggregator function, VAR(), which is defined by rewriting it using let, fold, and lower-level functions.
Add A High-Level Vector Computation (contains MathML, use Firefox to view)
How to add a vector computation function, NPV(), which is defined by rewriting it using let, fold, and lower-level functions.

Once you leave these well-documented paths, you will have to read the code itself for guidance. There is one more crucial aspect, however.

Package Dependencies
AFC’s build enforces strict package dependency rules to make sure the system remains well structured.