caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] ANNOUNCE: mod_caml 0.8.0 - Objective CAML bindings for the Apache API
@ 2003-09-27 17:29 Richard Jones
  0 siblings, 0 replies; only message in thread
From: Richard Jones @ 2003-09-27 17:29 UTC (permalink / raw)
  To: caml-list; +Cc: lwn

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-09-27 17:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-27 17:29 [Caml-list] ANNOUNCE: mod_caml 0.8.0 - Objective CAML bindings for the Apache API Richard Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).