If anyone ports this to work with GHC6.0 please let us know. Tom
On Wed, 5 Nov 2003 09:58 am, Peter Simons wrote: > S Alexander Jacobson writes: > > Is there a reasonably efficient Haskell httpd > > implementation around that uses poll/select? > > There is a web server written in Haskell: HWS-WP > -- or "Haskell Web Server with Plug-ins". You'll > find it at: > > http://sourceforge.net/forum/forum.php?forum_id=253134 > http://cvs.sourceforge.net/viewcvs.py/haskell-libs/libs/hws-wp/ > > The following paper from Simon Marlow provides a > detailed description of the server's architecture: > > Writing High-Performance Server Applications > in Haskell, Case Study: A Haskell Web Server > > http://www.haskell.org/~simonmar/bib.html > > Note that HWS-WP does not use poll(2) directly. > Instead, it relies an Haskell's forkIO function to > spawn concurrent threads of execution. These are > _not_ necessarily system threads, though. GHC, for > instance, does implement IO threads with poll() > internally. Other compilers or run-time systems > may use other techniques. > > I have experimented with direct poll()-based > scheduling in Haskell (using a CSP monad to > implement co-routines) and honestly didn't find it > to be worth the extra effort. Eventually, I threw > all the code away and just used forkIO, like > everybody else does. > > Peter > > > P. S.: If you're interested in a poll()-based web > server written in C++, though, let me know. I have > some code I'm more than willing to share. The > server speaks HTTP/1.1 and can deliver static > pages. No dynamic content, though. But it _is_ > fast. :-) > > _______________________________________________ > Haskell mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell -- Uncontrolled power will turn even saints into savages. And we can all be counted on to live down to our lowest impulses. -- Parmen, "Plato's Stepchildren", stardate 5784.3 _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell