librml(3x)

NAME
librml - runtime library for compiled RML code

DESCRIPTION
RML specifications compiled via C using rmlc need additional runtime support. This is supplied by the <rml.h> include file and librml.a library.

EXECUTION
librml.a supplies its own main() entry point, which takes care of initializations, scanning arguments, and invoking the RML entry point. The RML entry point is relation Main.main, and its type must be string list => (). It will be invoked with a list of strings constructed from the C argv[].

OPTIONS
The runtime library's main() recognizes the following options:

-log
    Enables additional logging of runtime activities, in a manner specific for the particular version of the runtime library. Not all versions accept this option.

-bench
    Enables benchmarking of the application. Reports the time taken to run the application, and the number of garbage collections that occurred.

--  Indicates that the rest of the arguments are for the application itself, rather than the runtime library. Required if the first of those arguments starts with a dash.

SEE ALSO
rmlc(1), rml(1)

"The Definition of RML" for the official definition of the syntax and semantics of RML.

BUGS
The is no documentation about the internals of the library, save for some comments in <rml.h> and the library's source code.

NOTES
The library has been ported to several processors, operating systems, and compilers: SPARC, SunOS 4.1.x and Solaris 2.x, cc and gcc; PowerPC, PARIX, Motorola cc and gcc; PowerPC, AIX 4.1, xlc and gcc; HP-PA, HP-UX 9, cc and gcc; Intel x86, Solaris 2.4, cc and gcc; Intel x86, Linux, gcc; Alpha, OSF 1.3, cc and gcc; MIPS, Irix 6.3, cc and gcc; MIPS, Ultrix 4.3, cc and gcc.

AUTHOR
Mikael Pettersson (mpe@ida.liu.se).