Swift Atomic procedures
An atomic procedure specifies how to invoke an external executable program, and how logical data types are mapped to command line arguments.
Atomic procedures are defined with the app keyword:
app (binaryfile bf) myproc (int i, string s="foo") {
myapp i s @filename(bf);
}
which specifies that myproc invokes an executable called myapp, passing the values of i, s and the filename of bf as command line arguments.