haskell httpd

Thomas L. Bevan thomas_bevan at toll.com.au
Wed Nov 5 10:16:37 EST 2003


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
> Haskell at haskell.org
> 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



More information about the Haskell mailing list