From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id E377DBC48 for ; Tue, 19 Apr 2005 21:55:00 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j3JJt0wH028995 for ; Tue, 19 Apr 2005 21:55:00 +0200 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 VAA26939 for ; Tue, 19 Apr 2005 21:54:59 +0200 (MET DST) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.173]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j3JJsxOX028992 for ; Tue, 19 Apr 2005 21:54:59 +0200 Received: from [212.227.126.160] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1DNyoD-0001eu-00; Tue, 19 Apr 2005 21:54:57 +0200 Received: from [84.167.145.37] (helo=gate.lan.gerd-stolpmann.de) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1DNyoC-0006u4-00; Tue, 19 Apr 2005 21:54:56 +0200 Received: from flakew.lan.gerd-stolpmann.de (flakew.lan.gerd-stolpmann.de [192.168.0.32]) by gate.lan.gerd-stolpmann.de (Postfix) with ESMTP id 52E50C10A; Tue, 19 Apr 2005 21:54:56 +0200 (CEST) Subject: Re: Common CGI interface (was: [Caml-list] CamlGI question) From: Gerd Stolpmann To: Christophe TROESTLER Cc: stein@eecs.harvard.edu, hamburg@fas.harvard.edu, caml-list@inria.fr In-Reply-To: <20050419.210334.63756712.debian00@tiscali.be> References: <810e04dc0f6bb601fb828db8d18def6c@fas.harvard.edu> <20050419.133304.40952590.debian00@tiscali.be> <20050419084526.Q20372@bowser.eecs.harvard.edu> <20050419.210334.63756712.debian00@tiscali.be> Content-Type: text/plain; charset=ISO-8859-15 Date: Tue, 19 Apr 2005 21:54:55 +0200 Message-Id: <1113940495.6248.101.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.2 Content-Transfer-Encoding: quoted-printable X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:a6865a839c0178d9aa0ce41878507ea2 X-Miltered: at nez-perce with ID 42656214.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 42656213.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 gerd:01 stolpmann:01 christophe:01 troestler:01 rec:01 low-level:01 ocamlnet:01 ocamlnet:01 defines:01 functors:01 reuse:01 rauglaudre:01 filliatre:01 ocaml:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: Am Dienstag, den 19.04.2005, 21:03 +0200 schrieb Christophe TROESTLER: > On Tue, 19 Apr 2005, Christopher Alexander Stein wrote: > >=20 > > Je pense qu'aujourd'hui, une interface [...] de CGI est [...] importa= nt >=20 > I am not sure what is your point but the trouble right now is not that > there are no CGI library but that there are too many [1]! So let me > place a call: >=20 > | Would people be interested in setting up a list to discuss a common > | CGI-like interface, i.e. a minimal set of services to be offered > | (in the same vein to what was done I/O objects, see > | http://ocaml-programming.de/rec/IO-Classes.html). [It should not > | be hurried as for some library authors, this is not the main job.] > | The aim is to make possible to develop higher level libraries > | (e.g. template libraries) that work whatever the basic interface > | one favors. Good idea. However, I think it is too late for such a discussion. First, it already happened. Do you remember Bedouin? Although this debate was about the general design of web applications, there was also a "branch" targeting the low-level stuff, especially CGI and other connectors. This branch was Ocamlnet. Second, Ocamlnet exactly defines the "minimal set of services" (besides including several implementations). The interesting point is that it is possible to do implementations outside Ocamlnet by just defining compatible classes. This was a design idea from the very beginning, realized by using classes instead of functors everywhere. Because Ocamlnet has several layers, the developer of a new connector is even free to choose the level of the implementation, often giving one the chance to reuse code. I am quite astonished at seeing that many CGI implementations. I only knew the implementation of de Rauglaudre and Filliatre, and its limitations were one the motivations to develop Ocamlnet. Except mod_ocaml, which is somehow a different thing, the other libraries seem to have the same limitations: Non-modular design, missing features like upload of large (> 16 MB) files, or internationalization. I don't say Ocamlnet is perfect, but it is a step into the right direction. Gerd >=20 > > Une interface de base de donn=E9es (MySQL) suit de pr=E8s derri=E8re. >=20 > There are libraries for many databases as well as a generic one: DBI > (http://savannah.nongnu.org/cgi-bin/viewcvs/modcaml/ocamldbi/). >=20 > Cheers, > ChriS >=20 > --- > [1] Among others, > - Maxence Guesdon CGI (http://pauillac.inria.fr/~guesdon/Tools/cgi/) > - CamlGI (http://sourceforge.net/projects/ocaml-cgi/) > - fcgi-ocaml (http://sourceforge.net/projects/tcl-fastcgi/) > - mod_caml (https://savannah.nongnu.org/projects/modcaml/) > - OCamlnet (http://ocamlnet.sourceforge.net/) > - cgi (http://www.lri.fr/~filliatr/ftp/ocaml/cgi/) >=20 > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >=20 --=20 ------------------------------------------------------------ Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany=20 gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de ------------------------------------------------------------