Development Tools
Editor modes
Emacs
vi
Acme
Acme is a minimalistic text editor from plan9. While there are no language-specific features to the editor, there are a few tricks one can use to make it friendlier:
Plumbing
To allow plumbing of OCaml error messages, add the following to your plumbing rules:
# type is text
data matches 'File "([.a-zA-Z¡-<U+FFFF>0-9_/\-]*[a-zA-Z¡-<U+FFFF>0-9_/\-])", line ([0-9]+), characters ([0-9]+)-([0-9]+):'
arg isfile $1
data set $file
attr add addr=$2-#0+#$3,$2-#0+#$4
plumb to edit
plumb client $editor;;
Error: Syntax error
OCaml top-level
Simply execute win
to get a shell and run ocaml
from within this
shell.
Commenting
The following Edit
command will comment your selection.
# Edit .{i/(*
a/*)
};;
Error: Syntax error: '}' expected
Line 1, characters 6-7:
This '{' might be unmatched
Indenting
You can pipe your selection (or the whole file) through an external
indenter such as ocp-indent
middle-clicking on the command |ocp-indent
.
Compilation tools
Findlib/ocamlfind
ocamlfind
is
pkg-config
for OCaml.
ocamlbuild
oasis
OCamlMakefile
OMake
OMake is a build system designed for scalability and portability. It uses a syntax similar to make utilities you may have used, but it features many additional enhancements.
See the guide.
Distributing libraries
- Oasis oasis-db
- godi
- Yypkg
Debugging
Debugging facilities are described here.