Communications and networking
IBGS
[26-Aug-2003, version
0.2,
Alpha]
A game server for board games such as chess, go, checkers, and nine nens morris.
Liber(ator)
[20-Dec-2002, version
2.0.2,
Stable]
Liberator is the unix guru's cli to the Freenet network, inserting and requesting easily and efficiently.
WWW/HTTP
Cocanwiki
[01-Apr-2005, version
1.3.11,
Stable]
A wiki in OCaml.
Monitor
[29-May-2006, version
0.3,
Beta]
This tool allows you to monitor one or more web sites (or other
resources) by regularly doing tests on them. A test consists of
grepping a resource (an HTML page fetched by URL, or the output of an
arbitrary command) using a boolean combination of Perl-compatible
regular expressions. On failure, a mail is sent to a list of admins.
Includes a Debian package and a flexible configuration file syntax.
TCP/IP
lpd and Socket
[03-Dec-2004, version
0.8,
Beta]
A small threaded line printer daemon whose primary goal was to enable the use of a windows-only printer, it should be easily modifiable for other purposes. A small module of pervasive-like functions for sockets on all platforms (including win9x) is bundled together.
Other protocols
ocamlmq
[01-Jul-2010,
Development code]

ocamlmq is a STOMP message broker with features that make it especially suitable for implementing task queues and communication between subsystems.
FTP
wsync
[19-Dec-2003,
Beta]

WSync is a web uploading tool, i.e. a kind of ``web mirroring'' program, but it operates by ``pushing'' (uploading) files rather than downloading them. If you maintain a web site, you probably generate HTML pages on a local repository on your computer, and then upload them to the web server. WSync can help you a lot.
kom
[07-Jul-2006, version
1.0,
Stable]

Kom stands for "Keep old mails". It imports emails in a MySQL database and provides a frontend in gtk2 to search and browse the archived emails. Some options can be used to incrementally import mails (do to it each month for example). It can also export mails stored in the database, in mbox format or one-message-per-file format, and generate some statistics.
mbox-cleaner
[07-Apr-2005, version
1.0.0,
Stable]
A tool which throws away doublettes of mails (comparing body-contents). It reads from stdin and writes to stdout.
Games
BG1Tutu
[01-Feb-2006,
Alpha]

BG1Tutu is a project which automatically converts the resources in a Baldur's Gate, or Baldur's Gate + TotSC install to the BGII engine.
Freetennis
[16-Nov-2005,
Alpha]

A free tennis game written entirely in ocamlsdl and lablgl.
mlrogue
[21-Mar-2007, version
1.00,
Stable]
mlrogue is a clone of linuxrogue rewritten in ocaml.
This is a game of the 80ies running in a terminal 24 lines x 80 columns. Can be played in a xterm or other window terminal.
mltetris
[04-Aug-2004, version
20040716,
Beta]
An implementation of Tetris using threads, Events and the Graphics module.
O'Chess
[01-Dec-2005, version
0.2,
Alpha]
O'Chess is a simple chess engine written in O'Caml.
Weidu
[01-Feb-2006, version
188,
Development code]


WeiDU is a dialogue compiler, string patcher, script and text file extender for Infinity Engine games.
General purpose libraries
Date and time
Wyrd
[03-Mar-2008, version
1.4.4,
Stable]

Wyrd is a curses front-end for Remind, a powerful calendar and alarm
application. The display features a scrollable day calendar suitable for
visualizing your schedule at a glance. Wyrd integrates with an external
editor of your choice to make manual editing of reminder files more
efficient. Other features include significant configurability and
Mutt-like interface design.
Multimedia
Audio
Ensemble Juke Box
[23-Aug-2002, version
0.9,
Beta]

A distributed audio application designed to exchange high-quality audio data bewteen users on local area networks.
3D graphics
Chess III Arena
[19-Apr-2010, version
0.8,
Beta]
Chess III Arena is a simple chess game that utilizes the Quake III Arena characters.
Dormin
[08-Dec-2008,
Development code]
A character animation player with LablGL, for models from Shadow of the colossus game.
OcamlDoom
[10-Aug-2001,
Beta]
A Doom-style 3D graphics engine for action games.
Spaceman Spiff in Escape from Zorg
[02-Aug-2002,
Beta]
It's a 3D voxel-based first-person game inspired by Loderunner, with a simple level editor.
2D graphics
Battle For Rashitoul
[01-Sep-2003,
Alpha]
A strategy/arcade games written in OCaml and C (SDL).
graph
[26-Jun-2007, version
1.0,
Stable]

A utility to print a pretty graph of a time series
in an ansi terminal.
llpp
[20-Mar-2013, version
v15,
Stable]
PDF viewer written in OCaml and mupdf.
Mathplot
[01-Oct-2001, version
0.8.4,
Beta]

A GUI frontend for interactive graphing of functions. It also has a program to generate PostScript output.
O'Caml X Game library
[11-Sep-2002,
Beta]
A small framebuffer graphics library for O'Caml and X.
Programming languages
Compilers
Fjavac
[30-Sep-2005, version
0.3.0,
Beta]
Fjavac is a Java 5 compiler front-end implemented in the functional
language OCaml. Currently the compiler can parse and pretty-print
almost all of JDK 1.4.2 and JDK 1.5.0 files (including generics,
wildcards, annotations, enumerations, static imports, for-each loops
and variable arity arguments). A full compiler (with type inference,
capture conversion and type checking) is underway.
Publishing
Bibgrep
[09-Feb-2004, version
0.51,
Beta]
Bibgrep indexes and searches BibTex files for entries matching a given query. Its usage is similar to the command ``grep'' and the queries uses a Google-like syntax.
Bmktrans
[15-Mar-2002, version
3.0,
Stable]

Bookmark translator and pretty printer.
Sebib
[19-Apr-2010, version
1.0.0,
Stable]

Sebib means "S-Expressions for BIBliography", it provides a hackable Bibliographic References Management System.
Stog
[20-Mar-2013, version
0.8.0,
Beta]

Stog is a kind of Jekyll in OCaml: It is a static web site generator, able to handle blog posts as well as regular pages.
Science
Maths and Logic
GeOCaml
[11-Feb-2003, version
0.1]
A tool allowing to handle easily euclidian geometry.
Link
[16-Sep-2002,
Alpha]
A theorem prover for Multiplicative Linear Logics based on PROOF NETS Construction.
Software development
Development environments
ledit
[18-Nov-2010, version
2.02,
Mature]

One-line editor written in OCaml. It provides line editing for the Caml toplevels, as well as other interactive Unix commands.
Build tools
Yet another markup language preprocessor
[09-Aug-2001,
Stable]
Yamlpp is a very simple HTML preprocessor inspired by Nicolas Thiery's htmlpp.
System
System programming
APC
[11-Jun-2007, version
1.02,
Beta]

A small and not entirely usual CPU load monitor written in OCaml.
System files
apalogretrieve
[08-Jan-2008, version
0.9.6,
Beta]

Apalogretrieve is a stand-alone program that provides a SQL-like interface for Apache-Logfile-Queries.
Shell programming
ocamlscript
[06-Feb-2008, version
2.0.2,
Stable]

Ocamlscript is a tool which allows to use OCaml as a fast scripting language. The compilation process is performed as needed, and all the program and the compilation options are contained in one file.
File systems and system administration
cfind
[19-Apr-2005, version
0.0.0,
Development code]
cfind (Content FINDer) is a UNIX tool that provides functionality similar to that of Google Desktop from the command line.
CoWNFS
[14-Mar-2005,
Beta]

A copy-on-write NFS daemon for use with the XenoServers project. It's a general purpose userspace NFS daemon with the ability to dynamically stack file hierarchies over each other. Different layers can be configured as writable or as read-only, and in the latter case changes are made to a writable overlay in a copy-on-write fashion.
google-drive-ocamlfuse
[16-Aug-2012, version
0.1pre3,
Alpha]

google-drive-ocamlfuse is a FUSE-based file system backed by Google Drive, written in OCaml.
LSD mount utilities
[26-Feb-2007, version
1.3,
Stable]
The LSD mount utilities allow to automate mounting of encrypted
filesystems in linux with cryptsetup and loopback devices and enable
users (not only root) to mount encrypted filesystems when appropriate
entries to /etc/fstab have been added by root.
namealign
[16-Aug-2007, version
0.6,
Beta]

The program namealign renames files in a way that they are equally formatted.
It follows the same idea of character-classification as the tool pftdbns, but does not sort files into directories. Instead it renames files of the same filename-macrostructure to be equally formatted (e.g. inserting a leading 0 in a numbered part of the name).
Newfaction
[22-Jun-2007, version
1.0,
Stable]

The program newfileaction (newfaction) invokes a program for each file that newly is created in a directory you want to visit.
It's similar like the "watch" program. When the watch-program is invoked, it starts a command on the shell every n seconds and shows you the results on the screen. This is good for watching the result of commands every n seconds.
newfaction is slightly different: it invokes the command for each new file in a directory. So for example, if you get all the time new files into your directory (e.g. by copying them from a remote-host to your locval host via ftp or scp) then you can invoke a program for each of these files.
For example you could start your vi-editor for each new file, if you know there are coming text-files, or you could invoke xv for each file, if you know there are coming pictures into the incoming-directory.
pftdbns
[03-Apr-2007, version
0.4,
Stable]
The name is a short hand for "put files to directories (sorted) by name structure".
It takes filenames, maps each char of the filename into a char, representing
the charclass of it (a..z and A..Z -> "l" (letter), 0...9 -> "d" (digit" and so on).
This yields to an easy way of sorting files by names, based upon file-naming
with certain filenaming-conventions.
UMLMON
[18-Oct-2005, version
1.0.1,
Stable]

Gerd Stolpmann offers UMLMON, which is an add-on product to User Mode Linux (UML) that strongly simplifies its administration. Up to now a system operator needed several weeks to develop scripts in order to deploy User Mode Linux. UMLMON is a ready-to-use solution setting standards for UML operating, especially concerning the number of features and the operational safety.
Whenjobs
[19-Mar-2012, version
0.7,
Beta]

Whenjobs is a powerful but simple cron replacement.
Two key advantages over cron are a simpler syntax for writing rules and a powerful dependency system that lets one job depend on variables set when other jobs run (allowing, for example, one job to run only when another job has finished successfully).
Xara
[27-Oct-2004, version
1.0,
Stable]
Xara allows to do boolean
regexp searches on the Debian package database in a LablGTK2 GUI.
User interfaces
X
Bantam
[09-May-2005, version
0.1,
Alpha]
Bantam is a new lightweight file manager for POSIX systems ("Unix-like" systems, including Linux) with X11. It is not for everyone, but is intended to be highly productive for people who know their way around the file system and are comfortable with keyboard commands.
EFuns
[10-Aug-2001,
Alpha]
An Emacs clone in Ocaml.
GwML
[10-Aug-2001,
Alpha]
An experimental window-manager written in Objective Caml. Configuration is done by dynamically loading Objective Caml bytecode modules.
XML
XML specific languages
XSPP
[20-Dec-2002, version
0.0.3,
Beta]

XSPP stands for XSLT Stylesheet PreProcessor. It can be used to simplify writing XSLT stylesheets. It is result of author being terrified by xsl:call-template size.
XML protocols
rmwd
[12-May-2004, version
0.7,
Beta]

Remote Middleware Daemon is a high level identity management library focused on services and access control, and exposed via both xdr-rpc, and xml-rpc. It is written entirely in Objective Caml, except for the trivial xmlrpc interface, which is in perl.
XML formats
SRESI
[31-Jul-2006, version
0.12.0,
Beta]

SRESI is a smart bookmarks manager: from a list of tagged bookmarks, it can generate an exhaustive tree or a portal, where each bookmark is at every place in the hierarchy you can expect to find it, and with stupid branches absorbed back in their saner versions.
An import function is provided.
(X)HTML
Hlins
[10-Aug-2001, version
0.39,
Beta]

Hlins is a tool to insert hypertext links into HTML documents, using a database with entries of the form "name = url".
htmlc
[24-Sep-2009, version
2.21,
Stable]

htmlc is used to produce regular HTML pages from source files that contain text fragments that require some computation to be written. Those text fragments can be for instance the last modification date of a page, or parts of HTML pages that must be systematically included in all the pages of an entire WEB site.
Others
Ara
[04-Dec-2002, version
0.4,
Beta]
Ara is a utility for doing boolean regexp queries on the the Debian package database
Camlserv
[24-Feb-2004, version
0.2-2,
Beta]

A web server able to execute caml applets to generate dynamic pages.
Gocaml
[04-Mar-2002, version
1.0,
Stable]
A graphical frontend for GMP Go engines, written in ocaml.
IceDock
[12-Dec-2006, version
0.4]
Dockapp support ala WindowMaker/AfterStep for IceWM, TWM, MWM, Sawfish, KWin, ...
Maple-MuPad
[23-Nov-2001,
Development code]
A small tool that may help to convert a Maple code to MuPad.
mod_ocaml
[03-Dec-2004, version
1.3.4,
Stable]

A set of OCaml bindings for the Apache API, allowing you to run CGI scripts written in OCaml directly inside the Apache webserver.
SwiftSurf
[20-Sep-2001, version
1.2.5,
Stable]
SwiftSurf is a web proxy that can handle http (1.0 and 1.1) and https. Moreover, it allows page filtering and authentication through a password.
WTimer
[24-Mar-2003, version
1.0,
Stable]
WTimer allows you (and your group) to enter time sheets, to store them into a database, and to retrieve reports of them. What can you put into a time sheet? These sheets are organized by days, and every day has several rows. The rows contain the clock time when the activity starts, when the activity ends, how long it lasts, a project identifier, and a description (free text).
Xcaml
[25-May-2004, version
1.0,
Beta]
The Application System Xcaml (AS/Xcaml) is a full-featured web-application architecture based on Xcaml, a web-oriented syntax extension of the Objective Caml language.