CAMLBROWSER(1)

NAME
camlbrowser - A Caml Light environment browser

SYNOPSIS
camlbrowser [ -d|-display display ] [ -mono ] [ -stdlib stdlib-dir ] [ -I lib-dir ] [ -O module-set ] [ -tags ] module ...

DESCRIPTION
camlbrowser is an hypertext tool to browse library and program modules. The various elements of the interface work as follows :

Opened Modules
    displays the list of opened modules. Clicking on the Open Module button will display the list of compiled module interfaces available in the Load path. If a directory is highlighted in the Load path display, only modules in that directory are prooposed. After clicking on the Ok button, the selected modules will be added to the list of Opened Modules. Opening a module in camlbrowser is essentially the same operation as the #open directive in the Caml Light toplevel.

Load Path
    displays the list of directories in the load path. The current directory (.) is implicit and always first in the load path. Clicking on the Add Directory button allows the extension of the Load Path. Adding a directory in camlbrowser is essentially the same operation as the #directory directive in the Caml Light toplevel.

FEATURES

Compiled interface (.zi) display
    Double-clicking on an entry of the Opened Modules list will open a window displaying the values, types and exceptions defined in this module.

Type navigation
    Double-clicking on a type constructor (symbols displayed in blue) will open a window displaying the corresponding type definition, from its compiled module interface.

Symbol definition search
    After typing a symbol in the Enter a global symbol entry widget, pressing return will open windows displaying definitions for this symbol in all name spaces (types, values, constructors, labels). If the symbol is not defined, no window will appear. Naturally, the definitions are searched in the Opened modules if the symbol is not qualified, or in its definition module if the symbol is qualified (module__symbol).

Source display
    View source file allows the display of Caml Light source files, that is implementations (.ml) or interfaces (.mli). The given file will be looked for in the Load path (where the current directory is always first and implicit). Caml Light keywords are underlined, comments are displayed in red. Double-clicking on a directory in the Load path display proposes sources in that directory only.

Source navigation
    Double clicking in displayed source files is equivalent to Symbol definition search. Note however that this search does not follow the semantics of the compiler, since neither local bindings nor #open directives in the source file are taken into account.

Library source lookup with TAGS
    For a value description displayed from a compiled module interface, the value's symbol is displayed in red. If the module sources (.ml or .mli) are available, and a Gnu-Emacs compatible TAGS file has been generated for them with mletags, then the sources of this module will be displayed, an positionned to the definition of the value. TAGS file are loaded when a directory is added to the Load path.

Module selection
    Module selection features keyboard completion, and selection of all modules (Meta-A).

OPTIONS

-d|-display  display
    sets the display.

-mono
    forces monochrome settings on color screens.

-stdlib  stdlib-dir
    Sets the standard library directory.

-I  lib-dir
    Adds lib-dir to the path of directories searched for compiled interface files .zi and source files .ml and .mli. The default is to search in the current directory first, then in the Caml Light library.

-O  module_set
    selects the set of modules of the standard library to be loaded. Should be one of cautious, fast, none.

-tags
    sets the source navigation mode at startup.

modules ...
    An initial list of modules to be displayed.

SEE ALSO
mletags (1)

AUTHOR
Francois Rouaix (Francois.Rouaix@inria.fr)

BUGS
Positioning a displayed source file on a given symbol according to a TAGS file does not always work (it doesn't work exactly like in Gnu-Emacs anyway). Special characters (anything except alphanumeric and underscore) will defeat the anchor mechanism. camlbrowser being the main test program for CamlTk, it is subject to creeping featurism.