A universal toplevel for OCaml. url: https://forge.ocamlcore.org/projects/utop/ * Requirements: utop depends on the following packages: * findlib (http://projects.camlcity.org/projects/findlib.html) * react (http://erratique.ch/software/react) * lwt (http://ocsigen.org/lwt/) * camomile (http://camomile.sourceforge.net/) * zed (http://forge.ocamlcore.org/projects/zed/) * lambda-term (http://forge.ocamlcore.org/projects/lambda-term/) Lwt must be compiled with react support, configure it with: $ ./configure --enable-react utop also requires OCaml compiler libraries. If you are using debian, they are available as the package ocaml-compiler-libs, if you are using godi, they are installed by default. If you installed ocaml by hand, you can run the script utils/install-compiler-libs.sh. * Installation: To compile and install lambda-term just type: $ ocaml setup.ml -configure $ ocaml setup.ml -build $ ocaml setup.ml -install If you get the development version of utop you must obtain oasis (http://oasis.forge.ocamlcore.org/). * Usage: To use utop, simply run: $ utop utop display a bar after the prompt which is used to show possible completions in real-time. You can navigate in it using Alt+Left and Alt+Right, and select one completion using Alt+Tab. * Customization: To add colors to utop, copy one of the files utoprc-dark or utoprc-light to ~/.utoprc. utoprc-dark is for terminals with dark colors (such as white on black) and utoprc-light is for terminals with light colors (such as black on white). You can also customize the prompt of utop by setting the reference UTop.prompt. * Integration with emacs: To use utop in emacs, add the following line to your ~/.emacs file: (autoload 'utop "utop" "Toplevel for OCaml" t) Then you can run utop by executing the command "utop" in emacs. * Integration with the tuareg mode: You can replace the default toplevel used by the tuareg mode by utop, for that add the following lines to your ~/.emacs file: (autoload 'utop-eval-region "utop" "Toplevel for OCaml" t) (autoload 'utop-eval-phrase "utop" "Toplevel for OCaml" t) (autoload 'utop-eval-buffer "utop" "Toplevel for OCaml" t) (defun tuareg-utop-hook () (local-set-key "\M-\C-x" 'utop-eval-phrase) (local-set-key "\C-x\C-e" 'utop-eval-phrase) (local-set-key "\C-c\C-e" 'utop-eval-phrase) (local-set-key "\C-c\C-r" 'utop-eval-region) (local-set-key "\C-c\C-b" 'utop-eval-buffer)) (add-hook 'tuareg-mode-hook 'tuareg-utop-hook) * Development: The last development version of utop can always be found in the darcs repository hosted at darcs.ocamlcore.org: $ darcs get http://darcs.ocamlcore.org/repos/utop