An OCaml kernel for the IPython notebook
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
notebooks update README Dec 21, 2015
profile fix logos May 5, 2014
Ipython_json.atd Fix completion mechanism Dec 10, 2015
LICENSE add license Feb 5, 2014
Makefile rename makefile (been annoying me) Aug 30, 2014
_tags 1st steps towards an internal ZMQ binding May 3, 2014 remove ocamlnet, cryptokit and optcomp depends Mar 14, 2014
base64.mli remove ocamlnet, cryptokit and optcomp depends Mar 14, 2014 1st steps towards an internal ZMQ binding May 3, 2014
completion.mli send ocaml reponses as pyout to get cell no's. Mar 17, 2014 comatibility with 4.00.1 Aug 31, 2014
exec.mli Fix notebook start by custom msg handling Dec 10, 2015
iocaml.mltop 1st steps towards an internal ZMQ binding May 3, 2014 added command line options; -suppress_*, and -package. Syntax highlig… Feb 9, 2014
iocaml_zmq.mli include new zmq bindings May 3, 2014
iocaml_zmq_stubs.c fix installation May 3, 2014 load .iocamlinit startup script Mar 17, 2014

IOCaml logo

Build Status


IOCaml is an OCaml kernel for the IPython notebook. This provides a REPL within a web browser with a nice user interface including markdown based comments/documentation, mathjax formula and the possibility of generating all manner of HTML based output media from your code.

See also

This repository hosts the iocaml-kernel package.

Example picture


Installation requires opam and OCaml >= 4.01.0. To use the OCaml server

$ opam install iocaml

which will install the kernels and server. The individual kernels can be instaled with

$ opam install iocaml-kernel
$ opam install iocamljs-kernel


Simply run iocaml from the command-line. This should automatically start the iocaml web interface and open a browser window

$ iocaml

When opening a new notebook,an iocaml-kernel process should be automatically started. For example enter let a = 12 + 30, hit ctrl-enter, and you should see the response val a : int = 42.

Note that starting up the kernel might take a while the first time, during which your input prompt will look like In [*].


The kernel can also be used with the IPython/Jupyter server.

Note: To use IOCaml with the latest IPython/Jupyter notebook, you'll need to start it with --Session.key='':

jupyter notebook --Session.key=''

This disables some security measures that iocaml doesn't yet support.

Command line options

The following options may be given to the IOCaml-kernel (via the IPython profile config) or IOCaml-server.

  • -log <filename> open log file
  • -init <file> load file instead of default init file
  • -completion enable tab completion
  • -object-info enable introspection

The following option is for use with IPython

  • -connection-file <filename> connection file name