Local Specialization
We describe the support of local specialization in the categorial computer algebra algebra system OpenAxiom by abstract interpretation.
In typeful programming languages, many algebraic structures in computer algebra systems can be best expressed through parametric interfaces and datatypes. The properties of such algebraic structures can depend upon aspects of the parameters. For instance, the set of integers ℤ/kℤ modulo a natural number k carries the ring structure for all values of k; however, when k is prime, ℤ/kℤ also carries the field structure. In a generic programming setting, expressing such a dependent property at a single definition point is called local specialization. Several categorial computer algebra systems support local specialization to varying degrees. We present a principled compilation strategy to support local specialization in OpenAxiom grounded by the theory of abstract interpretation.
This website provides additional material, specifically
- a Technical Report concerning the implementation of local specialization in OpenAxiom; and
- a tar.bz2 of the code for doing the analysis separately from the compiler