caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jonathan Bryant <jtbryant@valdosta.edu>
To: caml-list@yquem.inria.fr
Subject: Re: Yet another OCaml Webserver?! (was: Re: [Caml-list] Yet	another sudoku solver (838 bytes))
Date: Sat, 19 Nov 2005 12:28:01 -0500	[thread overview]
Message-ID: <1132421280.17170.20.camel@starlight> (raw)
In-Reply-To: <20051119150931.GB324@first.in-berlin.de>

Although this may sound like a shameless plug, it is not... :)

I wholeheartedly agree with your sentiments.  Although still within
academia, at least ATM, I am part of a group writing a full blown AI/web
crawler/search engine in OCaml.  I'm implementing a lot of the necessary
libraries (Client/Server, Clustering, Protocols, Persistance, etc.) by
hand in pure OCaml.  Now, maybe I'm just a masochist, but I'm
thouroughly enjoying myself while doing it.  Also, any of these
libraries should make it into the OpenSource world, and are being
designed, not as libraries specific to this task, but as general use
libraries with clean, clear interfaces and lots of documentation.

On the other hand, I will have to admit that there are some times that
you need C libraries.  Many times, in our project, we are using bindings
to an existing library to speed things up until we can go back and hand
roll our own.  Right now, we're using Curl, BerkeleyDB, and a few
others.  Also, things like BDB are fast because of C specific features. 
For example, the B tree is of a certain arity so that reading a "node"
involves only 1 disk read.  This is possible in OCaml, but extremely
difficult, not because of the read size, but because it is difficult to
find out the necessary filesystem information.  Eventually, we will
hand-roll our own, but, since it is already there, we are using it in
the interim.

Of course, for our web server we're using Apache, but we are writing our
CGI scripts in OCaml :).  I guess we're considering making a web
server.  With the aforementioned libraries at our disposal (once they
are complete ...  :), writing an Apache-killer web server would
definitely be very plausable.

There's some real-world code, for you.  A large scale project in OCaml
with minimal use of C libraries that takes advantage of the advanced
language features of OCaml.

Hope that helps,

-- Jonathan

On Sat, 2005-11-19 at 10:09, Oliver Bandel wrote:

[snip]


--Jonathan Bryant
  jtbryant@valdosta.edu
  Student Intern
  Unix System Operations
  VSU Information Technology

"Das Leben ohne Music ist einfach ein Irrtum, eine Strapaze, ein" Exil."
("Life without music is simply an error, a pain, an exile.")
--Frederich Nietzsche

"The three cardinal values of a programmer are laziness, impatience, and
hubris."
--Perl Man Page




  parent reply	other threads:[~2005-11-19 16:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-19 12:41 Yet another sudoku solver (838 bytes) Marco Maggesi
2005-11-19 15:09 ` Yet another OCaml Webserver?! (was: Re: [Caml-list] Yet another sudoku solver (838 bytes)) Oliver Bandel
2005-11-19 15:41   ` Thomas Fischbacher
2005-11-19 15:55   ` William Neumann
2005-11-19 16:05     ` Oliver Bandel
2005-11-19 16:29       ` William Neumann
2005-11-19 17:28   ` Jonathan Bryant [this message]
2005-11-19 20:09   ` Jonathan Roewen
2005-11-19 20:19     ` Oliver Bandel
2005-11-19 20:32       ` skaller
2005-11-19 20:50         ` Jonathan Roewen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1132421280.17170.20.camel@starlight \
    --to=jtbryant@valdosta.edu \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).