Вы находитесь на странице: 1из 4

OCAML(1)

General Commands Manual


OCAML(1)

NAME
ocaml - The OCaml interactive toplevel
SYNOPSIS
ocaml [ options ] [ object-files ] [ script-file ]
DESCRIPTION
The ocaml(1) command is the toplevel system for OCaml, that permits inte
ractive use of the OCaml sys
tem through a read-eval-print loop. In this mode, the system repeatedly r
eads OCaml phrases from the
input, then typechecks, compiles and evaluates them, then prints the in
ferred type and result value,
if any. The system prints a # (sharp) prompt before reading each phrase.
A toplevel phrase can span several lines. It is terminated by ;; (a doubl
e-semicolon). The syntax of
toplevel phrases is as follows.
The toplevel system is started by the command ocaml(1). Phrases are re
ad on standard input, results
are printed on standard output, errors on standard error. End-of-file on
standard input terminates
ocaml(1).
If one or more object-files (ending in .cmo or .cma) are given, they are
loaded silently before start
ing the toplevel.
If a script-file is given, phrases are read silently from the file, error
s printed on standard error.
ocaml(1) exits after the execution of the last phrase.
OPTIONS
The following command-line options are recognized by ocaml(1).
-absname
Show absolute filenames in error messages.
-I directory
Add the given directory to the list of directories searched for
source and compiled files. By
default, the current directory is searched first, then the standar
d library directory. Directo
ries added with -I are searched after the current directory, in
the order in which they were
given on the command line, but before the standard library directo
ry.
If the given directory starts with +, it is taken relative to the
standard library directory.
For instance, -I +labltk adds the subdirectory labltk of the s
tandard library to the search

path.
Directories can also be added to the search path once the toplevel
is running with the #direc
tory directive.
-init file
Load the given file instead of the default initialization file. T
he default file is .ocamlinit
in the current directory if it exists, otherwise .ocamlinit in the
user's home directory.
-labels
Labels are not ignored in types, labels may be used in application
s, and labelled parameters
can be given in any order. This is the default.
-no-app-funct
Deactivates the applicative behaviour of functors. With this opt
ion, each functor application
generates new types in its result and applying the same functor t
wice to the same argument
yields two incompatible structures.
-noassert
Do not compile assertion checks. Note that the special form as
sert false is always compiled
because it is typed specially.
-nolabels
Ignore non-optional labels in types. Labels cannot be used in appl
ications, and parameter order
becomes strict.
-noprompt
Do not display any prompt when waiting for input.
-nopromptcont
Do not display the secondary prompt when waiting for continuatio
n lines in multi-line inputs.
This should be used e.g. when running ocaml(1) in an emacs(1) wind
ow.
-nostdlib
Do not include the standard library directory in the list of direc
tories searched for source
and compiled files.
-ppx command
After parsing, pipe the abstract syntax tree through the preproc
essor command. The format of
the input and output of the preprocessor are not yet documented.
-principal
Check information path during type-checking, to make sure that all
types are derived in a prin
cipal way. When using labelled arguments and/or polymorphic meth
ods, this flag is required to
ensure future versions of the compiler will be able to infer types
correctly, even if internal

algorithms change. All programs accepted in -principal mode are


also accepted in the default
mode with equivalent types, but different binary signatures, and t
his may slow down type check
ing; yet it is a good idea to use it once before publishing source
code.
-rectypes
Allow arbitrary recursive types during type-checking. By defaul
t, only recursive types where
the recursion goes through an object type are supported.
-short-paths
When a type is visible under several module-paths, use the short
est one when printing the
type's name in inferred interfaces and error and warning messages.
-stdin Read the standard input as a script file rather than starting an i
nteractive session.
-strict-sequence
Force the left-hand part of each sequence to have type unit.
-unsafe
Turn bound checking off on array and string accesses (the v.(i)a
nds.[i] constructs). Programs
compiled with -unsafe are therefore slightly faster, but unsafe: a
nything can happen if the
program accesses an array or string outside of its bounds.
-version
Print version string and exit.
-vnum Print short version number and exit.
-w warning-list
Enable or disable warnings according to the argument warning-list
. See ocamlc(1) for the syn
tax of the warning-list argument.
-warn-error warning-list
Mark as fatal the warnings described by the argument warning-list.
Note that a warning is not
triggered (and does not trigger an error) if it is disabled by
the -w option. See ocamlc(1)
for the syntax of the warning-list argument.
-warn-help
Show the description of all available warning numbers.
- file Use file as a script file name, even when it starts with a hyphen
(-).
-help or --help
Display a short usage summary and exit.
ENVIRONMENT VARIABLES
LC_CTYPE
If set to iso_8859_1, accented characters (from the ISO Latin-1 ch

aracter set) in string and


character literals are printed as is; otherwise, they are printed
as decimal escape sequences.
TERM When printing error messages, the toplevel system attempts to un
derline visually the location
of the error. It consults the TERM variable to determines the type
of output terminal and look
up its capabilities in the terminal database.
SEE ALSO
ocamlc(1), ocamlopt(1), ocamlrun(1).
The OCaml user's manual, chapter "The toplevel system".

OCAML(1)

Вам также может понравиться