|
The module system of O'Caml has been used to make the combinatorial core of O'Mega demonstrably independent from the specifics of both the physics model and the target language [1], as shown in Figure 1. A Fortran90/95 backend has been realized first, backends for C++ and Java will follow. The complete electroweak Standard Model has been implemented together with anomalous gauge boson couplings. The implementation of interfering color amplitudes is currently being completed.
Figure 1: Module dependencies in O'Mega. The diamond shaped nodes denote abstract signatures defining functor domains and co-domains. The rectangular boxes denote modules and functors, while oval boxes stand for example applications.