utop
TLDR
Start utop REPL
SYNOPSIS
utop [options] [file]
DESCRIPTION
utop is an enhanced toplevel (REPL) for OCaml with features including real-time context-sensitive completion, syntax highlighting, history, and support for multiple editing modes.
The completion bar displays possible completions as you type and updates dynamically. Navigate completions with Alt-Left/Right and select with Alt-Down. The interface supports multiline input without requiring explicit line continuation.
utop integrates with Emacs using the Tuareg, caml, and ReasonML modes. From Emacs, use M-x utop to start a session with additional key bindings for evaluating code from buffers.
PARAMETERS
-init file
Load specified file on startup.-require package
Require specified findlib package.-e expression
Evaluate expression and exit.-no-init
Skip loading initialization files.-emacs
Run in Emacs mode.-stdin
Read input from standard input.-help
Display help.
COMMANDS
#help: Show available commands.
#quit or Ctrl-D: Exit utop.
#use file: Load file into the session.
#require package: Load findlib package.
#list: List loaded modules.
#utop_bindings: Show key bindings.
CONFIGURATION
~/.config/utop/init.ml: Initialization script.
~/.utoprc: Configuration file for colors and settings.
~/.ocamlinit: Alternative initialization (also used by standard ocaml).
CAVEATS
Requires OCaml installation. Some features need findlib. Emacs integration requires mode setup. Heavy packages may slow startup.
HISTORY
utop was created as a modern replacement for the standard OCaml toplevel, providing a significantly improved user experience with completion, history, and editor integration. It's maintained by the OCaml community and has become the recommended REPL for OCaml development.


