Version française
Home     About     Download     Resources     Contact us    

The Caml Hump: Development tools

Recently updated contribs

Older contribs

Development tools
Piqi [21-Feb-2013, version 0.6.0, Beta]
Protocol Buffers, JSON and XML serialization".
Author: Anton Lavrik.
Development tools
Merlin [21-Feb-2013, Beta] Has a documentation
Merlin is a tool which providessmart completion, among other things, in your favorite editor. As of today, Vim and Emacs are supported.
Author: Frédéric Bour.
Development tools
Reactive ML [12-Feb-2013, version 1.08.04, Stable] Has a documentationHas a tutorial
ReactiveML is a programming language dedicated to the implementation of interactive systems as found in graphical user interfaces, video games or simulation problems. ReactiveML is based on the synchronous reactive model of Boussinot embedded in an ML language (here OCaml). The synchronous reactive model provides synchronous parallel composition and dynamic features like the dynamic creation of processes. In ReactiveML, the reactive model is integrated at the language level (not as a library) which leads to safer and more natural programming.
Author: Louis Mandel.
Development tools
BER MetaOCaml [31-Jan-2013, version 100, Beta]
BER MetaOCaml is a streamlined version of MetaOCaml -- a conservative extension of OCaml with the primitive type of code values, and three basic multi-stage expression forms: Brackets, Escape, and Run.
Author: Oleg Kiselyov.
Development tools
Focalize [14-Jan-2013, version 0.8.0, Beta] Has a documentation
FoCaLize is an integrated development environment to write high integrity programs and systems. It provides a purely functional language to formally express specifications, describe the design and code the algorithms. Within the functional language, FoCaLize provides a logical framework to express the properties of the code. A simple declarative language provides the natural expression of proofs of those properties from within the program source code.
Development tools
OCaml Batteries Included [09-Jan-2013, version 2.0.0, Stable]
Batteries Included is a candidate standard development platform for OCaml.
Authors: Bluestorm, Edgar Friendly, and David Teller.
Development tools
Js_of_ocaml [17-Dec-2012, version 1.3, Stable] Has a documentation
Js_of_ocaml is a compiler of OCaml bytecode to Javascript. It makes it possible to run Ocaml programs in a Web browser.
Development tools
Otags [17-Dec-2012, version 4.00.1, Stable]
An Emacs tag generator for Ocaml source files, working also with syntaxes extended with Camlp4.
Author: Hendrik Tews.
Development tools
Bisect [07-Nov-2012, version 1.3, Stable]
Bisect is a coverage tool for the Objective Caml language. It is a camlp4-based tool that allows to instrument your application before running tests. After application execution, it is possible to generate a report in HTML format that is the replica of the application source code annotated with code coverage information.
Author: Xavier Clerc.
Development tools
OCamlMakefile [23-Oct-2012, version 6.37.0, Stable] Has a Godi packageHas a documentation
Automated compilation of complex OCAML-projects.
Author: Markus Mottl.
Development tools
Ocuality [23-Oct-2012, version 0.8, Beta] Has a documentation
Integrated Logging, Assertion, and Unit Testing library
Author: Peter Groves.
Development tools
Fan [23-Oct-2012, Development code]
Fan is a full blow programming language, it’s a superset of ocaml with Lisp-like macro’s features. It shares the same run-time with ocaml, so it’s 100% compatible with ocaml.
Author: Bob Zhang.
Development tools
Wodi [23-Oct-2012, version 4.00.1, Stable]
Wodi is a godi-based ocaml distribution for windows. Its build system and package management tool rely on cygwin, but the binaries - compiled with mingw-w64 and ocaml - are independent of cygwin.
Author: Andreas.
Development tools
mingw-builds [09-Oct-2012, version 1.1.rc1, Beta] Has a documentation
Mingw-builds is an ongoing project that creates a set of open-source libraries and tools for windows in a clean and reproducible way, making it possible to easily build for windows. It uses yypkg, a cross-platform, system-agnostic and cross-compilation-friendly package manager. Both of them will become official tools and repositories for the mingw-w64 project.
Author: Adrien Nader.
Development tools
Camlp5 [08-Oct-2012, version 6.07, Stable] Has a documentation
Camlp5 is a preprocessor-pretty-printer of ocaml. It is the continuation of the classical Camlp4 with new features. It is compatible with OCaml versions from 3.08.1 to 3.11 included.
Development tools
yypkg [08-Oct-2012, version 1.6.0, Stable] Has a tutorial
YYPkg is a small, fast, platform-agnostic package manager. It can be used to manage any directory. It is built to help cross-compilation setups and it works both for and on Windows.
Author: Adrien Nader.
Development tools
Mascot [30-Aug-2012, version 1.0, Stable] Has a documentation
Mascot is a style-checker for Objective Caml sources. It provides checks in various categories: code, documentation, interface, metrics, and typography. The goal of the tool is to allow a (team of) developer(s) to enforce style properties over a source codebase for greater coherency and style uniformity. The tool is highly customizable, allowing one to choose the checks to perform, as well as exceptions to those checks in given files. Moreover, a plugin system allows the developer to add its own checks, and output modes. Bundled output mode range from bare text to CheckStyle- and JDepend-compatible XML file in order to allow integration with Hudson.
Author: Xavier Clerc.
Development tools
Kaputt [30-Aug-2012, version 1.2, Stable]
Kaputt is a testing tool for the Objective Caml language.
Author: Xavier Clerc.
Development tools
utop [16-Aug-2012, version 1.2, Stable]
utop is a toplevel for OCaml which can run in a terminal or in emacs. It supports completion, colors, parenthesis matching, ...
Author: Jérémie Dimino.
Development tools
Oasis [02-Jul-2012, version 0.3, Beta] Has a documentation
OASIS can integrate configure, build and install systems in their projects. It helps to create standard entry points in the source code build system and allows external tools to analyse projects easily. It is inspired by Cabal which is the same kind of tool for Haskell.
Author: Sylvain Le Gall.
Development tools
OCamlspotter [02-Jul-2012, version 2.0.0, Stable]
A small compiler patch which extends -annot option and records all the variable definition locations, so that we can jump from variable uses to their definitions easily from editors such as emacs.
Author: Jun Furuse.
Development tools
OPA [20-Jun-2012, version 0.9.3, Stable] Has a documentation
Opa is an open source, web development platform designed specifically for the Web with both security and developer agility in mind.
Development tools
ocaml-expect [18-Jun-2012, version 0.0.3, Beta]
This is a simple implementation of `expect` to help building unitary testing of interactive program. You can match the question using a regular expression or a timeout. See the Expect manual for more information: http://expect.nist.gov/
Author: Sylvain Le Gall.
Native OCaml libraries
OUnit [18-Jun-2012, version 1.1.2, Stable] Has a Godi package
Unit test framework for ocaml. It is based on HUnit, a unit testing framework for Haskell.
Development tools
Findlib [18-Jun-2012, version 1.3.2, Mature] Has a Godi packageHas a documentation
A library manager for Objective Caml.
Author: Gerd Stolpmann.
Development tools
Moca [18-Jun-2012, version 0.7.0, Beta] Has a tutorial
Mocac is a generator of construction functions for Caml concrete data types with algebraic invariants and maximal sharing facilities. Algebraic invariants are specified by using keywords denoting equational theories like commutativity and associativity. The construction functions generated by Mocac allow each equivalence class to be represented by a unique value.
Development tools
ODT [07-May-2012, version 2.2, Stable]
The OCaml Development Tools (ODT) project aims to be like the JDT (Java Development Tools) Eclipse plugins. It provides IDE features for OCaml application developments, such as automatic compilation, custom editors...
Author: Emmanuel Dieul.
Development tools
Eff [19-Mar-2012, version 3.0, Stable] Has a tutorial
Eff is a functional programming language based on algebraic effects and their handlers.
Development tools
TypeRex [19-Mar-2012, version 1.0.0, Beta] Has a documentation
OCaml development environment, developed by OCamlPro and Inria Saclay. This version of TypeRex only integrates with Emacs and brings a collection of new features that programmers expect from a modern IDE. Next versions will target more editors.
Development tools
ocamlbrew [09-Jan-2012, Alpha] Has a documentation
ocamlbrew aims to be a simple tool for getting up and running with various versions of OCaml. The concept, along with some basic code, is borrowed from perlbrew.
Development tools
OCaml for AIX [09-Jan-2012, version 3.12.1, Stable]
This is a port of the OCaml compiler to AIX (PPC) and HP-UX (HPPA).
Author: Christoph Bauer.
Development tools
OCamlnat [22-Nov-2011, version 0.1.0, Beta]
The ocamlnat project provides a new native code OCaml toplevel ocamlnat, which is mostly compatible to the byte code toplevel ocaml, but up to 100 times faster. It is based on the optimizing native code compiler, the native runtime and an earlier prototype by Alain Frisch. It is build upon Just-In-Time techniques and currently supports Unix-like systems (i.e. Linux, BSD or Mac OS X) running on x86 or x86-64 processors. Support for additional architectures and operating systems is planned, but not yet available.
Author: Benedikt Meurer.
Development tools
OCAPIC [12-Sep-2011, version 2.5, Stable] Has a tutorial
A project which brings OCaml to programming PIC micro-controllers.
Authors: Benoit Vaugon, Philippe Wang, and Emmanuel Chailloux.
Development tools
Cppo [29-Aug-2011, version 0.9.2, Beta] Has a documentation
Cppo is an equivalent of the C preprocessor targeted at the OCaml language and its variants. Its main purpose is to provide simple macro substitution (#define) and file inclusion (#include) for the occasional case when this is useful in OCaml. The implementation of cppo relies on the standard library of OCaml and on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions.
Author: Martin Jambon.
Development tools
GODI [29-Aug-2011, version 3.12.1, Stable]
GODI bundles the Ocaml compiler with a large list of add-on packages, and serves as a development platform for Ocaml applications. GODI makes it very easy to install open source libraries for all kinds of development areas on your computer. It is intended as a daily toolkit for developers who are mainly interested that the libraries can be pulled into their own projects effortlessly, and do not want to spend half of their life for figuring out how to configure and build software they haven't written themselves.
Author: Gerd Stolpmann.
Development tools
OCamlDuce [29-Aug-2011, version 3.12.1.0, Stable] Has a Godi packageHas a documentationHas a tutorial
OCamlDuce is a merger between OCaml and CDuce. It comes as a modified version of OCaml which integrates CDuce features: expressions, types, patterns.
Author: Alain Frisch.
Development tools
atdgen [29-Aug-2011, version 1.2.0, Stable] Has a documentationHas a tutorial
Atdgen is a command-line program that takes as input type definitions in the ATD syntax and produces OCaml code suitable for data serialization and deserialization.
Author: Martin Jambon.
Development tools
Mleternal [04-Jul-2011, version 0.2, Beta] Has a documentation
Incrementally rebuild OCaml programs as source code evolves
Author: Dawid Toton.
Development tools
Ragel [04-Jul-2011, version 6.7, Stable] Has a documentation
Ragel compiles executable finite state machines from regular languages. Ragel targets C, C++, Objective-C, D, Java and Ruby. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at arbitrary points in the recognition of a regular language. Code embedding is done using inline operators that do not disrupt the regular language syntax.
Author: ygrek.
Development tools
OCaml-data-notation [04-Jul-2011, version 0.0.5, Beta]
Ocaml-data-notation, aka odn, dumps OCaml data in OCaml notation. It is inspired by JSON. It uses type-conv to create data dumper functions, you just have to add "with odn" in the type definition. There is no load scheme, since it is used to dump datastructure into OCaml scripts. It is mainly a code generator helper.
Author: Sylvain Le Gall.
Development tools
ocsigen-bundler [09-Mar-2011, version 0.1.0, Beta]
This project helps to create self contained Ocsigen web server with its Eliom modules. It is a mean to easily deploy an Ocsigen server on a server without OCaml installed.
Author: Sylvain Le Gall.
Development tools
OCamlEditor [21-Feb-2011, version 1.6.0, Alpha]
OCamlEditor is a source code editor and build tool for OCaml written in OCaml+LablGTK working under Windows.
Development tools
Cameleon [14-Jan-2011, version 1.9.21, Stable] Has a documentation
Development environment for Objective Caml programmers, written in GTK2. It includes an OCaml-scriptable text-editor, a graphical toplevel, a documentation browser, and other useful tools and libs.
Development tools
Mlcov [13-Dec-2010, version 1.2, Stable] Has a documentation
MLcov is a code coverage tool for Objective Caml programs. It relies on a source code instrumentation technique which allows measuring of Modified Condition/Decision Coverage (MC/DC), the criterion involved in the DO-178B standard to ensure that safety-critical software is tested adequately. The tool is available as a patch against the version 3.12.0 of the Objective Caml compiler sources.
Author: Thomas Moniot.
Development tools
OCamljit [17-Nov-2010, version 2.0, Stable]
OCamlJit 2.0 is a Just-In-Time engine for Objective Caml 3.12.0 on desktop processors (x86/x86-64). It translates the OCaml byte-code used by the interpreter (ocamlrun and ocaml) to x86/x86-64 native code on-demand and runs the generated native code instead of interpreting the byte-code. It is designed to run with minimal compilation overhead (translating only what is being executed, avoiding costly code generation and optimization techniques), while being 100% compatible with the byte-code runtime (including serialization and hashing of closures, etc.).
Author: Benedikt Meurer.
Development tools
ocamlclean [15-Nov-2010, Development code]
ocamlclean takes a bytecode executable (which are generally but not necessarily produced by "ocamlc" compiler) and reduces its size by eliminating some dead code.
Author: Benoit Vaugon.
Development tools
ocamlgadt [15-Nov-2010, Development code] Has a documentation
An experimental branch of the O'Caml compiler: O'Caml extended with Generalized Algebraic Datatypes.
Development tools
OCamljs [07-Sep-2010, version 0.3, Beta] Has a documentation
Ocamljs compiles OCaml to Javascript. It uses the standard OCaml front-end, so the full language is supported (the object system is partially supported, should be fixed soon). Included are several libraries for Web programming, as well as a library for working with Javascript via Camlp4. It works with orpc for RPC over HTTP, and with froc for functional reactive browser programming.
Author: Jake Donham.
Development tools
Oug [01-Jul-2010, version 2.0-alpha, Stable] Has a tutorial
Oug is a code analysis tool building reference graphs from OCaml code, that is graphs representing which elements (value, module, class, ...) reference which elements. It comes with the Ouglib library to be able to embed the analyzer in other OCaml applications. From the graph, various outputs can be obtained: list of elements not referenced anywhere (useless elements and so potential dead code), various graphiz graphs, ...
Author: Maxence Guesdon.
Development tools
Tuareg [01-Jun-2010, version 2.0.1, Mature]
Tuareg is a Caml mode for GNU Emacs and XEmacs. It handles automatic indentation of Objective Caml and Camllight codes. Key parts of the code are hilighted using Font-Lock. Support to run an interactive Caml toplevel and debbuger is provided.
Author: Albert Cohen.
Development tools
Pasta [20-May-2010, version 0.04, Alpha] Has a documentation
Pasta is a cross-assembler for the MOS 6502 (also including 65C02 instructions), which contains experimental support for automatic management of certain resources (namely, zero-page memory locations), provided that you are prepared to use a slightly restricted programming style.
Author: Julian Brown.
Development tools
OCamlify [20-Apr-2010, version 0.0.1, Development code]
OCamlify allow to create OCaml source code by including whole file into OCaml string or string list. The code produced can be compiled as a standard OCaml file. It allows embedding external resources as OCaml code.
Author: Sylvain Le Gall.
Development tools
Orpc [19-Apr-2010, version 0.3, Beta] Has a documentation
Orpc is a tool for generating RPC clients and servers. It can generate clients / servers for use with Ocamlnet's ONC RPC implementation (like ocamlrpcgen), and also for RPC over HTTP for use with ocamljs. To describe interfaces, you give orpc an OCaml signature instead of an RFC-1831/1832-format file. Most OCaml types (including polymorphic types), exceptions, and functions with labelled/optional arguments are supported.
Author: Jake Donham.
Development tools
jsonpat [19-Apr-2010, version 0.7, Beta] Has a documentation
jsonpat is an application for the easy transformation of JSON files.
Development tools
CCSS [11-Mar-2010, version 1.1, Stable] Has a documentation
CCSS is a preprocessor/pretty-printer for CSS (Cascading Style Sheets). It extends the CSS language with support for declaration of variables and basic arithmetic operations (addition, subtraction, multiplication, division). The programme is supposed to be used as a filter: it reads the CSS source from stdin and outputs its result on stdout.
Author: Dario Teixeira.
Development tools
OCaml-Java [18-Feb-2010, version 1.4, Beta]
The goal of the OCaml-Java project is to allow seamless integration of OCaml and Java.
Author: Xavier Clerc.
Development tools
ocamlbuild-plus [30-Nov-2009, version 0.99, Beta]
Ocamlbuild-plus is an extension of ocamlbuild that enables to use findlib packages in its build plugins.
Author: Till Varoquaux.
Development tools
OCaml-gir [03-Nov-2009, version 0.9, Beta]
OCaml-gir is an automated binding generator for glib-based libraries.
Author: Adrien Nader.
Bindings with C libraries
OCaml-gettext [02-Nov-2009, version 0.3.3, Beta]
OCaml-gettext provides enough service to build a basic internationalized program. It comes with a pure Ocaml implementation, based on Camomile, a binding to GNU gettext library, and ocaml-gettext, a tool to extract strings from Ocaml source.
Author: Sylvain Le Gall.
Development tools
ocaml-autoconf [16-Oct-2009, version 1.1, Stable] Has a documentation
Autoconf macros to support configuration of OCaml programs and libraries.
Development tools
OCamlviz [08-Sep-2009, Development code] Has a documentation
The key idea of Ocamlviz is the ability to instrument an existing code, in real time, with lightweight monitoring annotations. Ocamlviz can also be used as a debugging tool.
Development tools
OCaml plugin for the Netbeans IDE [27-Jul-2009, Development code] Has a tutorial
This plugin extends the support of NetBeans IDE for projects written in Objective Caml Language.
Development tools
WideStudio [27-Jul-2009, version 3.98, Stable] Has a documentation
WideStudio is an open source, Integrated Development Environment for desktop applications purely made in Japan. This enables you to develop GUI applications that can run on Windows95/98/Me/NT/2000/Xp/Vista, WindowsCE, Linux, FreeBSD, SOLARIS, MacOSX(w/X11), BTRON, T-Engine, mu-CLinux(wo/X11) in various programming languages such as C/C++, Java, Perl, Ruby, Python, Objective Caml. Since an application is build on MWT(Multi-Platform Widget Toolkit) which runs on multiple platforms, WideStudio applications are all source compatible between these platforms.
Development tools
ocamlglobaltags [15-Jun-2009, version 1.0, Stable]
A source code tagger for OCaml that can be plugged in to GNU Global's tag set up.
Author: Matthew Hague.
Development tools
Syncweb [15-Jun-2009, version 0.2, Beta] Has a documentation
Syncweb is a command line tool enabling programmers to use the literate programming development methodology, using the noweb tool, while still being able to modify the generated files from the literate document. syncweb provides a way to "synchronize" the possibly modified original document with its possibly modified views with an interface similar to Unison. In addition, syncweb synchronizes data at a fine grained level by computing and storing md5sum of the different chunks.
Author: Yoann Padioleau.
Development tools
OCaml Metrics [02-Jun-2009, version 0.51, Beta]
OCaml Metrics is a simple OCaml code analysis tool. It can compute some metrics of functions and modules: cyclomatic complexity, the number of lines of code, Halstead complexity measures (difficulty, volume and effort) and Maintainability Index. OCaml Metrics generates reports in three formats: HTML, simple XML or plain text. This allows developers to find parts of their projects which need refactoring in order to keep the projects easily maintainable.
Development tools
Hydro [05-May-2009, version 0.7, Beta]
Hydro is an independent implementation of ICE, the object-oriented RPC protocol by ZeroC, for the O'Caml programming language. Hydro (like ICE) allows you to bridge language barriers by letting components written in different programming languages communicate with each other. ZeroC's ICE product currently includes implementations for C++, Java, C#, Python, Ruby, VB, and PHP. Hydro adds support for O'Caml. The ICE protocol is rich enough to make the representation of the data to communicate easy and convenient to use, and adopts an object-oriented type system. ZeroC sees ICE as a superior successor to CORBA.
Author: Gerd Stolpmann.
Development tools
DiamondBack Ruby [05-May-2009, version 20090421, Development code] Has a documentationHas a tutorial
Diamondback Ruby (DRuby) is an extension to Ruby that aims to bring the benefits of static typing to Ruby without compromising the expressiveness of the language.
Development tools
Linux - Win32 cross compiler [18-Nov-2008, Alpha]
A Linux -> Win32 OCaml cross-compiler, developed and sponsored by Red Hat's Fedora MinGW project[1]. Red Hat are sponsoring this project so that we can build our OCaml virt tools for Windows without the hassle of using Windows.
Development tools
Symbiosis [13-Oct-2008, version 0.1.0, Beta] Has a documentation
This is a meta build system. It is implemented as an ocamlbuild plugin. It checks out source code from repositories and starts builds of individual components. Because ocamlbuild doesn't support linking additional files, a lot of different code is collected in a single file. This includes a JSON parser for configuration files. Symbiosis tries to avoid the problem of collecting all source dependencies in one large tree, or alternatively installing dependencies on the system. The former makes it difficult to change dependent component versions. The latter makes it difficult to quickly test different build version complicates developer setup. Correctly configured, just call ocamlbuild with a target for the top most component to build. All the source should be appear in the working directory and build. Initially it can be complex to set up, but once done, it is rather easy to add new components with interesting dependencies.
Development tools
ocamlbuild-ctools [13-Oct-2008, version 0.1.0, Beta] Has a documentation
An ocamlbuild plugin that supports compiling C and C++ cross platform using ocamlbuild only. Variant builds - can build many different variants from the same source tree. For example static libraries, test builds, debug, optimization, linking or not linking with some other code, different platform builds etc. Automic recursive header file generation - needed for pulling source into _build directory. It used to be able to rebuild on header file change, but it has regressed - it is possible that .stamp files do not hold signatures of dependencies of dependencies or something. It has not been tested on Windows, but build rules have been copied from old build scripts so it should not be that hard to get going.
Development tools
csml [16-Sep-2008, version 0.1, Beta] Has a documentation
A system to interface OCaml and .Net/C#. CSML makes it possible to leverage existing .Net components from OCaml, to expose OCaml libraries into the .Net world and more generally to write mixed OCaml/.Net applications. With CSML, developers write scripts that describe interactions between the two worlds (OCaml and .Net). It is possible to bind functions, static or instance methods, properties, to pass opaque pointers from one heap to the other, or to copy values structurally. CSML preserves type safety properties from the two worlds, it propagates exceptions and first-class functions in a sound way and it deals automatically with memory management.
Author: Alain Frisch.
Development tools
Menhir [09-Sep-2008, version 20080908, Beta] Has a documentation
Menhir is an LR(1) parser generator for the Objective Caml programming language.
Development tools
Cursico [16-Apr-2008, version 080415, Beta]
An OCaml curses editor to write coloured texts or draw things.
Development tools
CamlPy [02-Apr-2008, version 0.1, Development code]
A library for communicating between python and OCaml, together with a little proof-of-concept interface to WxPython, as a first step towards a better GUI tool for OCaml.
Author: John Whitington.
Development tools
Jsure [11-Mar-2008, version 1.0.1, Stable] Has a documentation
Jsure is a "lint" for Javascript, which is also known as Ecmascript. It checks syntax and a little bit of semantics.
Author: Berke Durak.
Development tools
CamlX [08-Feb-2008, version 1.2, Stable]
CamlX is a Wrapper for the OCaml (or Caml Ligth) toplevel environment. CamlX can be used without a previously installed Caml distribution, indeed it include a Caml Light version. But it is possible to use your own version of Caml (you must specify the path in the preferences menu).
Author: Yann Armelin.
Development tools
Aurochs [03-Dec-2007, version v60, Beta]
Aurochs is a parser generator that uses the parse expression grammar (PEG) or "packrat" approach. It takes a grammar in a BNF-like notation (a .peg file) and produces bytecode (a .nog file) for a stack automaton. This bytecode is later interpreted on the input to parse using a C library. Bindings are given for Ocaml and Java. Aurochs can also directly produce C or Ocaml code for parsing. It is in use at Exalead where we use it daily to parse real-world Javascript.
Author: Berke Durak.
Development tools
Camlanot.vim [24-Sep-2007, version 0.9, Beta] Has a documentation
A vim plugin to handle annot files.
Development tools
Nickel [10-Sep-2007, version 1.0-alpha, Alpha] Has a documentation
Bridge/Bindings generator for Java/Objective Caml integration.
Author: Xavier Clerc.
Development tools
Cafesterol [10-Sep-2007, version 1.0-alpha, Alpha] Has a documentation
Extension of the Objective Caml compiler suite producing Java binaries (.class/.jar files).
Author: Xavier Clerc.
Development tools
OMake [08-Aug-2007, version 0.9.8.5, Stable] Has a Godi packageHas a documentation
OMake is a build system designed especially for large projects. It uses a syntax similar to make utilies you may have used, but with enhancements.
Author: Jason Hickey.
Development tools
Ocaml-MinGW-Maxi [30-Jul-2007, version 3.10.0, Beta]
Ocaml-MinGW-Maxi is binary distribution for OCaml port for Windows based on the MinGW toolchain. It contains the OCaml compiler and some precompiled add-on libraries.
Author: Christoph Bauer.
Development tools
OcaIDE [16-Jul-2007, version 1.0.1, Beta] Has a documentation
OcaIDE is an O'Caml plug-in for Eclipse
Author: Nicolas Bros.
Development tools
svgconv [20-Jun-2007, version 1.0.5, Stable]
Svgconv is a tool to convert SVG paths into a C format that can be easily used with OpenVG. The tool converts SVG graphics into C source code that can be #included into your C program that wishes to use the path data.
Author: Janne Hellsten.
Development tools
Pml [07-May-2007, Alpha] Has a documentation
PML will be a proof assistant based on a variant of the ML programming language which should also allow to write mathematics.
Development tools
Highlight [28-Mar-2007, version 2.4.8, Stable] Has a documentation
Highlight converts source code to formatted text with syntax highlighting. Features include coloured output in HTML, XHTML, RTF, TeX, LaTeX and XML format; Support for 120+ programming languages; include 40 colour themes; platform independent; customizable and easy to use. OCaml is also supported.
Author: Andre Simon.
Development tools
OCamlP3L [02-Mar-2007, version 2.03, Stable] Has a documentation
OCamlP3l is a compiler for Caml parallel programs. The OCamlP3l programming paradigm is skeleton programming. The skeletons encapsulate basic parallel programming patterns in a well understood and structured approach. Based on P3L, the Pisa Parallel Programming Language, OCamlP3l skeleton algebra is embedded in a full-fledged functional programming language, namely Objective Caml.
Development tools
TestSimple [30-Jan-2007, version 0.01, Alpha]
A unit testing framework for OCaml. It is based heavily on the Perl unit testing framework of the same name, and produces TAP output (http://en.wikipedia.org/wiki/Test_Anything_Protocol) which can be read and analyzed by a wide range of existing Perl tools. The goal of this framework is to make writing unit tests as simple and as easy as possible (hence the name).
Author: Stevan Little.
Development tools
cmigrep [30-Jan-2007, version 1.0, Stable] Has a Godi package
A small utility to mine cmi files for interesting bits of data.
Author: Eric Stokes.
Development tools
IMT [12-Dec-2006, version 1.00, Stable]
A little helper tool to simplify using Microsoft command line build utilities in a unix-like way.
Development tools
Olmar [06-Nov-2006, version 0.2, Beta]
Olmar connects Elsa, the Elkhound based C/C++ parser and typechecker, with Ocaml. More precisely, the Olmar extension can translate Elsa's internal abstract syntax tree into a value of an Ocaml variant type. This value can then be further processed with a pure Ocaml program. I prefer to have standalone Ocaml programs. Therefore I let Elsa marshal the abstract syntax tree as an Ocaml value to disk. However, it is also possible to link the Ocaml code into the Elsa executable.
Author: Hendrik Tews.
Development tools
OCamlTex [31-Jul-2006, version 0.6, Beta]
OCamlTeX is a combination of an OCaml script and LaTeX style file that, together, give the user the ability to define LaTeX macros in terms of OCaml code. Once defined, a OCaml macro becomes indistinguishable from any other LaTeX macro. OCamlTeX thereby combines LaTeX's typesetting power with OCaml's programmability.
Development tools
XStream [29-Jun-2006, version 0.1, Beta] Has a documentation
XStream is a simple functional transformation language for XML documents. XML transformations written in XStream are evaluated in streaming: when possible, parts of the output are computed and produced while the input document is still being parsed. Some transformations can thus be applied to huge XML documents which would not even fit in memory.
Author: Alain Frisch.
Development tools
annot [17-May-2006, Alpha]
Given a cursor position (line 30, column 20) "annot -type 30 20 main.annot" looks up the type annotation for that position in main.annot. It is trivial to hook this to a key in Vim, and probably most other editors.
Development tools
caml-get [11-May-2006, version 0.7, Development code] Has a documentationHas a tutorial
A tool to distribute pieces of OCaml code in a way similar to apt-get.
Author: Maxence Guesdon.
Development tools
xml2cd [07-Apr-2006, version alpha1, Alpha]
xml2cd is a cduce preprocessor that lets you embed cduce expressions in an xml files (and vice-versa) à la php (but with the nice cduce type checking). It supports namespaces, automatic dtd downloading etc...
Author: Till Varoquaux.
Development tools
P4ck [07-Dec-2005, version 0.501, Beta] Has a documentation
P4ck (read "4-pack") is a utility which downloads, compiles and installs Camlp4 syntax extensions. The motivation for this tool comes from the fact that many people wrote interesting syntax extensions for OCaml, which are in fact quite short and fit in one single file.
Author: Martin Jambon.
Development tools
Nnjoy [07-Nov-2005, version 0.2, Beta]
NJoy is a variant of the concatenative programming language Joy The main difference is that it is enriched with an easy to module system with optionally private declarations. Only a part of the standard library of Joy is implemented. The interpreter is easy to use, but the builtin functions are poorly documented. The performance of the interpreter (natively compiled and stack traceback switched off) is on par with optimized C implementation of Joy.
Development tools
Xcode plug-in for OCaml [26-Sep-2005, Beta]
A plugin for integrating OCaml in Xcode. At this time, it's still a beta version but it now works on simple tasks like syntax coloration, creation of a native ocaml target, and adding .m files or .cma static libraries to the target, integration of ocamllex and ocamlyacc, integration into the Xcode build system, error window.
Author: Damien Bobillot.
Development tools
Neko [19-Aug-2005, version 1.0, Stable] Has a documentation
Neko is an intermediate programming language with its virtual machine. The compiler is written in OCaml and the VM in C. It might be interesting for people involved in language design, since Neko is providing a common reusable runtime for language designers.
Development tools
AlphaCaml [10-Jun-2005, Beta] Has a Godi packageHas a documentation
AlphaCaml is a tool that turns a so-called ``binding specification'' into an Objective Caml compilation unit. This helps writers of interpreters, compilers, or other programs-that-manipulate-programs deal with alpha-conversion in a safe and concise style.
Development tools
Caml2tex [08-Jun-2005, Stable]
An application that produces LaTeX2e code from caml (OCaml, Caml light) source files.
Development tools
Saffire [31-May-2005, Alpha] Has a documentation
Saffire is a static analysis program that detects bugs in programs that use the OCaml/C foreign function interface. Saffire works by performing type inference across both OCaml and C to make sure that values are used consistently across the language boundary. For instance, if a OCaml passes a record to a C function, that C function should not treat the data as an integer. Saffire also tracks what C variables point into the OCaml heap and ensure they are always registered with CAMLparam/local before any allocation functions are called.
Author: Michael Furr.
Development tools
CamlTemplate [31-May-2005, version 1.0, Stable] Has a Godi packageHas a documentation
A small template processor library for Objective Caml. It can be used to generate web pages, scripts, SQL queries, XML documents and other sorts of text files.
Author: Benjamin Geer.
Native OCaml libraries
SimpleSOAP [24-May-2005, version 0.1.1, Alpha] Has a documentation
SimpleSOAP is an early, experimental SOAP client for Objective CAML.
Development tools
Min-caml [14-Mar-2005, Beta]
A simple but efficient compiler from a tiny ML subset to the SPARC assembly language.
Author: Eijiro Sumii.
Development tools
OMLet [14-Mar-2005, version 0.10, Beta]
OMLet provides a much better indentation for Caml/OCaml files than the official one. It mostly behaves as tuareg-mode for emacs does. Omlet supports most of the language features, including objects.
Author: David Baelde.
Development tools
Ocamaweb [26-Oct-2004, version 6.01, Stable] Has a documentation
A CWEB like literate programming tool. It is designed to target all languages and actually has a version targeting the MATLAB language.
Development tools
GODIVA [01-Oct-2004, version 0.9.4, Beta] Has a Godi packageHas a documentation
GODIVA, the GODI Verpacken Assistant, is a tool for making GODI packages.
Authors: William Lovas and Owen Gunden.
Development tools
Camlclipse [07-Sep-2004, version 0.1, Development code]
A group of plugins to add OCaml support in the Eclipse IDE. It provides very basic support for creating OCaml projects, editing source files, building and running.
Author: Andrei Formiga.
Development tools
O'Jacare [01-Jun-2004, Beta] Has a documentation
O'Jacare is a code generator to help in interoperability between Java and O'Caml through their object model. O'Jacare defines a simple IDL for Java's classes and interfaces descriptions. For communications from Java to O'Caml it owns a callback mechanism. So, you can easily override in O'Caml a method defined in Java. The implementation is based an each language low-level interfaces with C (JNI for Java and external for O'Caml) and uses an extended version of the camljava library. O'Jacare generates all needed wrapper classes and enables static typechecking in both world.
Development tools
OcamlConf [12-May-2004, version 0.8, Beta] Has a documentation
Ocamlconf is like autoconf but much simpler, utterly ocaml-centric, and dependent on findlib.
Author: Kenn Knowles.
Development tools
YaM [23-Apr-2004, version ]
Another build system for OCaml... The idea is to write a Makefile.ml, using the YaM helper module, and to compile it to get a project specific make.
Author: Damien Pous.
Applications written in Caml
Confluence [25-Mar-2004, version 0.9, Beta] Has a documentationHas a tutorial
A powerful logic design language that combines the dataflow and component-based methodologies of HDL with the expressiveness of modern functional programming.
Author: Tom Hawkins.
Development tools
Nativize [08-Mar-2004, version 0.1, Development code]
Compile and run native functions from the toplevel.
Author: Issac Trotts.
Development tools
OCamlWinPlus [19-Feb-2004, version 1.9.2, Stable]
Extension of the OCamlwin tool to add edition facilities, and more.
Development tools
headache [11-Feb-2004, version 1.03, Stable] Has a Godi packageHas a documentation
A simple and lightweight tool for managing headers in source code files.
Author: Vincent Simonet.
Development tools
Automli [07-Jan-2004, version 0.4, Beta]
Automli is a small program for O'Caml programmers which automatically generates MLI files from ML files and a specification of which functions, types etc. to export or hide.
Author: Jim Farrand.
Development tools
SWIG [05-Dec-2003, version 1.3.20, Stable] Has a documentation
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as Java, OCAML and C#.
Development tools
WOWcamldebug [20-Oct-2003, version 0.2, Beta] Has a documentation
WOWcamldebug is a front end that permits to use the OCaml debugger with (g)vim. You can run it as you usually run ocamldebug and it will execute both the ocamldebugger itself, permitting usual interaction, and a gvim window which will be kept in sync with the current debugging position. The current debugging line is highlighted and the cursor is positioned at the current event position on that line.
Development tools
Vim support for .annot files [06-Oct-2003, Stable]
A ViM extension that is able to parse .annot files and print the type of an highlighted (visual mode) part of an ocaml source file.
Development tools
Taglet [27-Aug-2003, version 1.3, Stable]
OCaml tag file generator.
Author: Issac Trotts.
Development tools
taggage [26-Aug-2003, version 1.1, Beta]
Vim tag file generation for OCaml.
Author: Issac Trotts.
Development tools
Forklift [26-Aug-2003, version pre-alpha, Development code]
A program for generating language bindings based on C header files.
Author: Jeff Henrikson.
Development tools
ODLL [12-May-2003, Stable]
ODLL is creating a Win32 DLL from an OCaml library, and automatically generating the C stubs needed to interface the OCaml code and the C code and the .H interface. Simply run ODLL with you CMA/CMXA and one or several CMI interfaces and ODLL will do the job for you.
Development tools
Katmake [04-Mar-2003, version 0.7, Beta] Has a documentation
Katmake is an GNU automake-like utility for the OCAML language. It is designed for generating Makefile for OCAML language. You give it a `Makefile.am' describing the project as input and it produces a Makefile. This Makefile is able to build all the project, to perform or to remove the installation, to build the distribution and to remove temporaries files.
Author: Hugues Cassé.
Development tools
CocOCaml [26-Feb-2003, version 0.7, Alpha] Has a documentation
CocOCaml is a Cocoa based wrapper for the OCaml toplevel environment.
Development tools
ocamldefun [30-Dec-2002, version 1.11, Stable] Has a documentation
Defunctorizer for OCaml.
Author: Julien Signoles.
Development tools
caml2html [26-Nov-2002, Stable]
A tool to create hilighted html pages from OCaml files (.ml, .mli, .mll and .mly).
Development tools
Visual ML [19-Sep-2002, Stable]
VisualML is an OCaml project wizard for Microsoft Visual Studio. It enables easy creation, compilation and errors corrections of OCaml projects under Visual Studio.
Development tools
OCamake [19-Sep-2002, Stable] Has a documentation
An automatic compiler for the OCaml language (has special features for integration under MS Visual Studio).
Development tools
ocamldsort [04-Aug-2002, version 0.14.3, Stable] Has a Godi package
A tiny command line tool to sort .ml files according to their dependencies, in order to link the corresponding .cmo files.
Author: Dimitri Ara.
Native OCaml libraries
rpc [17-Jun-2002, version 0.3.2, Stable] Has a Godi package
RPC is a package supporting the Sun RPC protocol. RPC programs, procedures, clients, and servers can be dynamically represented and modified. Of course, there is also a classical RPC generator which generates functions doing the language mapping from XDR values to language values and vice versa.
Author: Gerd Stolpmann.
Development tools
OCaml mode for NEdit [28-May-2002]
Smart-indent macros and syntax hilighting for OCaml code with NEdit.
Author: Nathaniel Gray.
Development tools
tuareg imenu [09-May-2002, Stable]
Tuareg imenu is an extesion for Emacs of the tuareg mode (it do not work under XEmacs). It help to have an global visoin of you code
Author: Rémi Vanicat.
Development tools
caml-info-look [19-Mar-2002, version 0.9]
An Emacs minor mode for automatic look up OCaml Info files.
Author: Olivier Andrieu.
Development tools
OCamlBurg [05-Mar-2002, Beta] Has a documentation
Generate a dynamic-programming ocaml code from a pattern matching specification.
Development tools
OCamlError [05-Mar-2002, Beta]
Annotate uncaught exception stack traces in a readable and editor-friendly way.
Development tools
CamlJava [18-Feb-2002, version 0.2, Alpha]
This is a very preliminary release of CamlJava, an OCaml/Java interface. Currently, it provides a low-level, weakly-typed OCaml interface very similar to the JNI.
Author: Xavier Leroy.
Development tools
Emrg [10-Jan-2002, Alpha] Has a documentation
A simple OCaml packager.
Authors: Mark Hayden and Ohad Rodeh.
Development tools
A sample configure.in to provide configure scripts for OCaml projects, and the associated Makefile.in.
Development tools
FORT [21-Aug-2001, version 0.4.1, Alpha]
FORT (Framework for Ocaml Regression Testing) provides an environment for testing programs and Objective Caml modules.
Author: Patrick Doane.
Development tools
FFI [16-Aug-2001, version 1.2.2, Stable]
A foreign function interface package for Objective CAML. It reads C header files and generates a mix of C code and ocaml external declarations.
Author: David Fox.
Native OCaml libraries
CamlIDL [10-Aug-2001, version 1.04, Stable] Has a documentation
CamlIDL is a stub code generator and COM binding for Objective Caml.
Author: Xavier Leroy.
Development tools
Cigen [10-Aug-2001, Development code]
Generation of stubs for Caml-to-C interface based on a .h header file (work in progress, not yet complete).
Author: Gerd Stolpmann.
Development tools
ocamldot [10-Aug-2001, Stable]
Generation of program dependency graphs for OCaml programs, using dot.
Author: Trevor Jim.
Development tools
OCamlexc [10-Aug-2001, Stable] Has a documentation
A static analyzer of spurious exceptions of OCaml programs.
Development tools
display [09-Aug-2001, Development code]
This little piece of code displays the internal representation of Caml values. It produces a graph as an ASCII file, in a format suitable for the `dot' tool.
Development tools
MLDoc [09-Aug-2001, version 1.2, Stable] Has a documentation
Automatic documentation extraction for Objective Caml.
Author: Pierre Boulet.
Development tools
findlib-browser [09-Aug-2001, version 0.1.1, Alpha] Has a Godi package
CGI script that browses packages managed by findlib.
Author: Gerd Stolpmann.
Development tools
ocamlwc [09-Aug-2001, Stable]
A program to count the lines of code and documentation in ocaml sources.
Development tools
ocaml.vim [09-Aug-2001, Stable]
OCaml syntax file for the VIM-editor.
Author: Markus Mottl.
Development tools
Ocamlweb [09-Aug-2001, version 1.0, Stable] Has a Godi packageHas a documentation
A literate programming tool for Objective Caml.