3.1 Basic Usage

The linker can be invoked on the input functor In in order to create an output functor Out as follows:

% ozl In -o Out

Consider for example the pickled functors A.ozf, B.ozf, and subdir/C.ozf, where A.ozf has been created from the following functor definition:

functor 
import B
       C at 'subdir/C.ozf' 
       Application
end

and the other functors have empty imports. By executing

% ozl A.ozf -o D.ozf

a new pickled functor D.ozf is created that contains both the functors contained in B.ozf and subdir/C.ozf but not the system functor Application.

If the linker is invoked in verbose mode as

% ozl --verbose A.ozf -o D.ozf

or

% ozl -v A.ozf -o D.ozf

for short, it prints the following information on which functors are in fact included and which are still imported by the newly created functor.

Include:
   A.ozf, B.ozf, subdir/C.ozf.
Import:
   x-oz://system/Application.

If we now invoke the linker on the newly created pickled functor D.ozf in verbose mode as follows:

% ozl -v D.ozf

it only prints the following information without creating a new functor:

Include:
   D.ozf.
Import:
   x-oz://system/Application.

By default, the linker includes (or links) all functors that are referred to by relative urls as in our previous example. How to change this behaviour is discussed in Section 3.2.


Denys Duchier, Leif Kornstaedt and Christian Schulte
Version 1.4.0 (20080702)