From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id VAA13665; Mon, 4 Mar 2002 21:55:50 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA05496 for ; Mon, 4 Mar 2002 21:55:48 +0100 (MET) Received: from lakeland.eecs.harvard.edu (lakeland.eecs.harvard.edu [140.247.62.173]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g24Ktkv21698 for ; Mon, 4 Mar 2002 21:55:46 +0100 (MET) Received: by lakeland.eecs.harvard.edu (Postfix, from userid 32148) id D90D9578C7; Mon, 4 Mar 2002 15:55:45 -0500 (EST) Date: Mon, 4 Mar 2002 15:55:45 -0500 From: Christian Lindig To: Caml Mailing List Subject: [Caml-list] ANNOUNCE: Tools from the C-- Project Message-ID: <20020304205545.GC10992@lakeland.eecs.harvard.edu> Mail-Followup-To: Christian Lindig , Caml Mailing List Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.27i Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk The C-- compiler project releases internal development tools. http://www.cminusminus.org/tools.html 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 (http://www.eecs.harvard.edu/~nr/noweb) 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 (http://www.cs.princeton.edu/software/iburg). 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 License. Christian Lindig Norman Ramsey ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners