[Haskell] Re: Trying On Learn Haskell Web Server
Niklas Broberg
niklas.broberg at gmail.com
Mon Mar 6 18:06:30 EST 2006
Ehum, shameless plug. :)
On 3/6/06, Graham Klyne <GK at ninebynine.org> wrote:
> Cale Gibbard wrote:
> > Ah, neat, I knew about WASH, but somehow I'd missed the fact that
> > there was a server there :)
>
> Interesting... at a casual glance, this looks as if it could be coming close to
> being a "full stack web application framework" for Haskell, looking to occupy
> the same kind of territory as systems like Java/Servlets+JSP+the rest,
> Ruby/Rails or Python/Turbogears (the last a package I'm currently using).
Have you looked at HSP [1]? This is exactly what the HSP project aims
for, although there is quite some ways to go yet.
> I think see:
> The web server
> CGI process dispatching
> Web page templating
> Relational database access
All of these are present in HSP.
> Additional features of a full-stack web application framework that may or may
> not be present are:
>
> - Support for longer-running web processes (implemented in haskell, of course)
HSP has that.
> - An easy way to map incoming URIs to specific functions (hmm.. or to monadic
> values, I think)
I don't think I understand what you're after exactly, but I'm sure
it's interesting, care to explain a bit further? :-)
> - Easy mapping from Haskell data structures to underlying SQL - what would be
> called an Object-Relational Mapper (ORM) in OO languages
Some of our students are working on bringing the power of Ruby/Rails
to HSP, with emphasis on smooth database interfacing. Not sure exactly
what this entails though, I've never used Rails... :-)
>
> - Handling of interaction with a browser-side Javascript library for smoother
> AJAX support
This is not currently present in HSP, but they are surely on the
conceptual todo-list. There is a design for a crude JavaScript
support, but we'd certainly need more.
> - Options to run the whole thing behind Apache to leverage its security and web
> space management capabilities
Lemmih has implemented a HSP/FastCGI binding for Apache. I also know
that work is being done on building a direct HSP/Apache binding. All
work in progress though.
> I think that continuation-based web session state management, ala
> Smalltalk/Seaside, would be a very natural fit for a Haskell framework -- all
> handled by a "Web session monad", maybe. (Or maybe I just don't know what I'm
> talking about ;)
This is by far the biggest drawback of HSP today. There is no
high-level support for continuations (other than explicitly defined
continuations at top level).
> How far are we from having such a framework for Haskell?
Depends on how many people would be willing to invest time in it.
Right now we have students at Chalmers working on a project that aims
towards such a framework, but they can only do so much in the time
they have. We would surely welcome any help we could get. :-)
/Niklas
(ps. Going on vacation for 2 weeks in a few hours, so I'm not likely
to respond for a while... ;-))
[1] http://www.cs.chalmers.se/~d00nibro/hsp/
More information about the Haskell
mailing list