This is a partial port of Ocaml 3.10 for Plan 9. The port is made using APE and is incomplete. Compiling: % ape/psh % make world # until it fails Installation: % make install #until it fails What's there: ocaml: the interpreter is here and supports basic functionality: parr% ocaml Objective Caml version 3.10.0 # 3*4;; - : int = 12 # print_string "Hello World\n";; Hello World - : unit = () # let rec fibonacci x = match x with 0 -> 1 | 1 -> 1 | n -> fibonacci (x - 1) + fibonacci (x - 2);; val fibonacci : int -> int = # fibonacci 10;; - : int = 89 # ocamlc: the bytecode compiler that allows you to create ocaml "binaries" which ocamlrun can interpret parr% cat hello.ml print_string "Hello world!\n";; parr% ocamlc hello.ml -o hello parr% ./hello Hello world! parr% ocamlrun: the bytecode interpreter lexer/parser/etc: those are part of the ocaml distribution other libraries: unix dynlink bigarray dynamic library loading: unsure whether it works or not. untested. What's not: graph: interface with X11. we don't use it labltk: Tcl/Tk interface thread: "lightweight threads" Unix -> Plan 9 conversion (-l unix) Gmake vs Make: there's a port of gmake 3.78 in sources/contrib/andrey. you may want to use that under ape/psh as some new "features" in gmake cause ape/make to gargle. Native Compilation: the status is that it currently doesn't work. we'll have to teach ocaml how to speak plan9 assembly. What to do (if you feel adventurous): Interface with plan 9 libraries. Interface with devdraw for drawing graphics. Native Compilation: make it work