IBAL can be run in two main modes: interactive and batch. The syntax for interactive mode is
ibal argswhere
args is a sequence of zero or more arguments or libraries, as
described below.
This begins a session with an interactive interpreter, with which you
can interact as described in Section 8
The syntax for batch mode is
ibal -b args targetwhere
args is a sequence of zero or more arguments or
libraries, and target is the file to be evaluated.
The standard suffix for IBAL files is .ibl. If target
does not contain a ., then .ibl is added.
The contents of target should be an IBAL expression.
IBAL searches for target in its current path.
The default path is set in global.ml, and can be added to in
the command line.
There is a third mode used for testing:
ibal -t n args runs test n, while ibal -t args
runs all the tests.
In all modes, each of the args can be a library or an argument.
If arg does not match a specific argument form, IBAL interprets
it as a library, and looks for arg in its path. Again, the
standard suffix .ibl is added if arg does not contain a
dot.
The contents of arg should be a block.
The effect of loading library filename.ibl is to define a variable
filename whose value is defined by the block.
The variable is then available for use in the interactive interpreter,
in library files loaded later in the command line, and in the target
for batch mode.
IBAL takes the following arguments. In each case, there should be no space between the letter indicating the argument and the contents of the argument:
-idir adds directory dir to the front of the path.
-pn sets the precision for displaying floating point
numbers to n.
-u suppresses the display in the result of ``boring''
fields that have only one possible value.
-wn sets the column width of solution tables to n.
-l turns off display of learned parameter values, while
+l turns it on. The defualt is controlled in the
show_params flag in global.ml.
-dflags turns on display of debugging information.
flags is a sequence of characters indicating which information
should be displayed:
f shows factors and their computations
k shows details of thunks as they are produced
l shows details of the learning process
o shows the observation propagation
r shows the translation of a program into internal code
s shows details of the support computation
t shows the typechecking process
v shows details of the solution process
+fflag and -fflag turn special flag on and
off. This is used for defining a temporary command line argument for
debugging purposes. See global.ml