On Wed, May 5, 2010 at 2:41 PM, Jeremy Shaw <jeremy@n-heptane.com> wrote:

On May 4, 2010, at 11:20 PM, Michael Snoyman wrote:

Hey Jeremy,

I see below that you included the experimental WAI support. I'm excited to try it out, but I don't see it in happstack-server (maybe I'm blind). Could you point it out?

Hello,

I should have been more explicit about this, sorry about that. The experimental WAI support is only available via darcs, in the happstack-wai sub-directory. 

darcs get http://patch-tag.com/r/mae/happstack
cd happstack/happstack-wai

You can browse here:

http://www.patch-tag.com/r/mae/happstack/snapshot/current/content/pretty/happstack-wai

The core is mostly there, though it is missing some of the Guards, and the FileServe module. 

Probably less than a day to "finish" it off I guess. Would be nice to do that now that 0.5 is out.

The happstack-wai version would not be a drop-in replacement for happstack-server. There are some differences, such as the wai version supporting enumerators :) But, porting from happstack-server to happstack-wai should not require major changes.

What remains to be seen is if happstack-wai actually provides better "performance" than happstack-server. 

alas, there is no happstack-wai specific demo at the moment. But, if there was, it would look a lot like a normal happstack-server app...

- jeremy 

It wouldn't look like a normal WAI app? If you want something like that, Simon Hengel wrote a nice Hello World for WAI; it's available in the github repo[1].

As far as performance goes, I can't imagine you'd see any significant difference without an enumerator-biased test, but I could be wrong. If you want to try something, I'd suggest outputting the contents of a file (obviously without the sendfile syscall). If you want help writing a WAI version, let me know, I'd be interested in the results of a comparison.

Michael

[1] http://github.com/snoyberg/wai/blob/master/README.lhs