Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] ANNOUNCE: Tools from the C-- Project
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-03-04 (20:55)
From: Christian Lindig <lindig@e...>
Subject: [Caml-list] ANNOUNCE: Tools from the C-- Project

The C-- compiler project releases internal development tools.


OCamlError 1.0

When an Objective Caml byte code program dies with an uncaught exception
or assertion failure, it can hint at the origin of the exception with a
stack trace. A stack trace lists module names and source code positions
in modules as character offsets from the beginning of the corresponding
source file. Because editors support navigation best by line and column
numbers, tracking down the origin of an assertion is somewhat tedious.
OCamlError reads a stack trace and annotates it with readable and
editor-friendly source code positions. When source code preprocessors
introduce CPP-style #line directives, these are also honored.

OCamlError is implemented as a literate program with the Noweb tool
( and comes with everything to
compile it from source code. The documentation is in HTML and Unix
manual page format. OCamlError is released into the public domain.

OCamlBurg 1.0

OCamlBurg is a code generator generator: it takes a pattern matching
specification and generates a dynamic-programming algorithm that
implements the matching.  Unlike an ML pattern, a Burg pattern covers
only part of a tree. Dynamic programming finds at run time the cheapest
way to cover a tree with patterns.  The typical application is inside a
compiler to translate an expression tree into code that evaluates the
expression at run time. OCamlBurg is inspired by Fraser, Hanson, and
Proebsting's IBurg implementation for C

Like OCamlError, OCamlBurg is implemented as a literate program and
comes with everything to build it from the source. It is released into
the public domain as well.

Mk from Plan 9

Mk is a successor to Make designed by Andrew Hume. It is used at Bell
Labs and in Plan 9.  While conceptually close to Make, it has resisted
feature bloat and shines at the details.  In particular, variable
handling in Mk is unified with the sh(1) shell which is typically used
to execute actions.  The result are simple and understandable mkfiles,
the equivalent to Makefiles.

Mk is distributed as C source code that was extracted from the Plan 9
source release and ported to Unix. It comes with documentation in PDF
format and a manual page. Mk is released under the Nuova Open Source

Christian Lindig <>
Norman Ramsey <>
To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: