[web-devel] Hoogle Advice

Neil Mitchell ndmitchell at gmail.com
Sun Jan 23 20:38:48 CET 2011

Hi Michael,

Thanks for the information.

> Essentailly, in a reverse HTTP, you'll have a standalone server
> running on some port that never talks to the outside world, and Apache
> will proxy all HTTP connections for your application to that server.

I hadn't heard of Reverse HTTP proxy before, but it seems to be the
simplest option for me - as I'll want Hoogle to be able to run as a
web server anyway. Taking a look it seems easy enough to configure in
Apache, so seems the perfect answer.

> There are at this point three main web frameworks in Haskell (that I'm
> aware of, someone correct me if I'm wrong): Yesod[1], Happstack[2] and
> Snap[3].

I've seen and looked at all the three main options. The one that
seemed to appeal to me most was Wai+Warp - does that count as Yesod?

One question on Wai - I see version 0.3.0 says "For that reason, this
library includes Network.Wai.Enumerator" - but the .cabal file doesn't
mention that file, and it's not included. Did you forget to edit the
.cabal file? I think the use of LazyIO might appeal to me, as that is
how Hoogle is currently structured, and I'd rather not switch to
enumerators at this stage.

> All of your desired features are easily implemented in Yesod except
> the timeout one.

I can implement timeout within my response easily enough, so I don't
think that matters too much.

> If you are interested in trying a migration to Yesod, just send me an
> email (either privately or on web-devel).

I think it's well documented enough that I'm not sure I'd have to.
I've downloaded warp and will give it a try shortly.

Thanks, Neil

More information about the web-devel mailing list