Currently, this still requires to write O'Caml code. This is not as
hard as it might sound, because an inspection of bin/models.ml
shows that all that is required are some tables of Feynman rules that
can easily be written by copying and modifyng an existing example,
after consulting with src/couplings.mli or the corresponding
chapter in the woven source.
In fact, having the full power of O'Caml at one's disposal is
very helpful for avoiding needless repetition.
Nevertheless, in the near future, there will be some special models
that can read model specifications from external files. The first one
of its kind will read CompHEP [17] model files. Later there
will be a native O'Mega model file format, but it will probably go
through some iterations.
This will always require to write O'Caml code, which is again not too
hard. In addition a library for vertices will be required, unless the
target performs complete inlining. NB: an early experiment with
inlining Fortran proved to be an almost complete failure on Linux/Intel PCs.
The inlined code was huge, absolutely unreadable and only marginally
faster. The bulk of the computational cost is always in the vertex
evaluations and function calls create in comparison negligible costs.
This observation is system dependent, of course, and inlining
might be beneficial for other architectures with better floating point
performance, after all.