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 usinglet
,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 usinglet
,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.