Skip to content

andrewray/iocaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOCaml logo

Build Status

IOCaml

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

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

Running

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 [*].

Jupyter

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