Directives

In addition to the standard #open and #close directives, Caml Light provides three additional directives.

#infix " id "
Change the lexical status of the identifier id: in the remainder of the compilation unit, id is recognized as an infix operator, just like +. The notation prefix id can be used to refer to the identifier id itself. Expressions of the form expr1 id expr2 are parsed as the application prefix id expr1 expr2. The argument to the #infix directive must be an identifier, that is, a sequence of letters, digits and underscores starting with a letter; otherwise, the #infix declaration has no effect. Example:
        #infix "union";;
        let prefix union = fun x y -> ... ;;
        [1,2] union [3,4];;

#uninfix " id "
Remove the infix status attached to the identifier id by a previous #infix " id " directive.

#directory " dir-name "
Add the named directory to the path of directories searched for compiled module interface files. This is equivalent to the -I command-line option to the batch compiler and the toplevel system.