We present the design and implementation of a generative geometric kernel 1. The kernel generator is generic, type-safe, parametrized by many design-level choices and extensible. The resulting code has minimal traces of the design abstractions. We achieve genericity through a layered design deriving concepts from affine geometry, linear algebra and abstract algebra. We achieve parametrization and type-safety by using OCaml’s module system, including higher order modules. The cost of abstraction is removed by using MetaO-Caml’s support for code generation coupled with some annotations atop the code type. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors—Code generation; D.2.2 [Software Engineering]
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.