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 TAA03126; Sat, 27 Sep 2003 19:29:05 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA03723 for ; Sat, 27 Sep 2003 19:29:04 +0200 (MET DST) Received: from aomori.annexia.org (annexia.force9.co.uk [212.56.101.183]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h8RHT3528439 for ; Sat, 27 Sep 2003 19:29:03 +0200 (MET DST) Received: from rich by aomori.annexia.org with local (Exim 3.36 #1 (Debian)) id 1A3IsO-0002ts-00; Sat, 27 Sep 2003 18:29:00 +0100 Date: Sat, 27 Sep 2003 18:29:00 +0100 To: caml-list@inria.fr Cc: lwn@lwn.net Subject: [Caml-list] ANNOUNCE: mod_caml 0.8.0 - Objective CAML bindings for the Apache API Message-ID: <20030927172900.GA10698@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i From: Richard Jones X-Loop: caml-list@inria.fr X-Spam: no; 0.00; api:01 api:01 templating:01 2.0.:01 shorter:01 ocamlc:01 mismatches:01 hashtbl:01 freshmeat:01 dbi:99 threads:01 ltd:98 bindings:01 bindings:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk I'm pleased to announce that mod_caml 0.8.0 is available here: https://savannah.nongnu.org/files/?group=modcaml http://www.merjis.com/developers/mod_caml/ mod_caml is a set of Objective CAML (OCaml) bindings for the Apache API. It allows you to run CGI scripts written in OCaml directly inside the Apache webserver. However, it is much much more than just that: * Bind to any part of the Apache request cycle. * Read and modify internal Apache structures. * Share modules of code between handlers and scripts. * CGI library and templating system (allows separation of code and presentation). * Works with Apache 1.3 and Apache 2.0. ----- This is an interim release for testing. The main change is that some API functions which previously returned 'string option' ('None' meaning that the C string was NULL) have been changed to return just 'string', and to raise 'Not_found' if the C string is NULL. Returning 'string option' vs. throwing an exception makes little difference in the case where you want to catch the NULL and do something intelligent. But throwing an exception makes a lot more sense in the common case where you simply don't expect a string to be NULL (eg. if reading request_rec->uri which should never be NULL). In the common case the code is shorter, and if the exception happens it causes a fatal error (500) and propagates into the error log. While this API change is large, ocamlc will find all the type mismatches for you, and then it is a simple matter to change uses. Another smaller API change is that templates now use assoc-lists instead of Hashtbl for tables. This considerably simplifies CGI code which uses tables. I hope that this will be the last time the API has to change in such a major way. Rich. PS. I'm looking for more people who want to be an active part of this project. So far we have 2 people with CVS 'commit' rights. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you. PTHRLIB is a library for writing small, efficient and fast servers in C. HTTP, CGI, DBI, lightweight threads: http://www.annexia.org/freeware/pthrlib/ ------------------- 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