Version française
Home     About     Download     Resources     Contact us    
Browse thread
Yet another sudoku solver (838 bytes)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jonathan Bryant <jtbryant@v...>
Subject: Re: Yet another OCaml Webserver?! (was: Re: [Caml-list] Yet another sudoku solver (838 bytes))
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