Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-05 Thread Edsko de Vries
On Wed, Jun 04, 2008 at 10:30:49PM -0400, Paul L wrote:
 Pardon me to hijack this thread, but I have an idea to build a
 different kind of Web Framework and am not sure if somebody has
 already done it.

Have a look at iTasks, written in Clean. Not *quite* Haskell, I know,
but close enough. I does what you suggest, it does what the OP suggested
(assigning tasks to people etc) and much more. For example, read the
following ICFP paper:

http://www.st.cs.ru.nl/papers/2007/plar2007-ICFP07-iTasks.pdf

Edsko
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread John Goerzen
Duncan Coutts wrote:
 On Tue, 2008-06-03 at 10:23 -0700, Don Stewart wrote:
 A new version of happs was written on a Monday a couple of months ago,
 using fastcgi and takusen. We're running it at galois, and you can
 find the code on code.haskell.org/hpaste. So not quite what you wanted,
 but another data point.
 
 That's very interesting. I hope we will also see a version with the same
 feature set implemented with the latest HAppS. It would give an
 interesting comparison of the web frameworks to see the same app
 implemented in both.

I haven't looked at that particular version, but when I last looked at
web frameworks, I was somewhat disappointed.  HAppS seemed to have
little documentation on the current version anyhow, and especially
little coverage on what to do if your app revolved around serving data
from an existing SQL database or other data source rather than its own.

hvac sounds interesting but at that time at least it was not clear
whether it was stable or would continue to be maintained.

xhtml and HStringTemplate were overkill for what I wanted, so I wound up
just using the FastCGI and CGI toolkits themselves.  They are
surprisingly nice, and with a little bit of wrappers around them for
things like validating forms, have worked exceptionally well.

My needs for that project were not complex, the layout was not very
important, and the presentation never changes (only the business logic).
 So I understand that my needs may have been opposite from what most
people face.

-- John
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread Sterling Clover


hvac sounds interesting but at that time at least it was not clear
whether it was stable or would continue to be maintained.

xhtml and HStringTemplate were overkill for what I wanted, so I  
wound up

just using the FastCGI and CGI toolkits themselves.  They are
surprisingly nice, and with a little bit of wrappers around them for
things like validating forms, have worked exceptionally well.



I'm in a position now where I can make a reasonable promise that hvac  
will not only be maintained but undergoing continued development. I  
just, for example, hooked in some basic postgresql support yesterday  
(although the changes are not tested/pushed to the repo yet).  
(Speaking of which, I noticed that the HDBC postgresql bindings don't  
set seState on an error -- is this intentional, or something that  
should be fixed up?)


As such though, I also can't promise that hvac as it stands is  
officially stable, although most work I imagine that will be done on  
it will consist of extensions rather than API-breaking changes.


I've also been working on a lightweight testing API for programs  
using the CGI monad, integrated with quickcheck. Although this  
project isn't final yet either, there's a working repo at http:// 
code.haskell.org/~sclv/cgicheck/ if anyone wants to play with it/use  
it. I plan to use this quite a bit to test hvac, and any applications  
produced using it.


Additionally, the hvac code now has a nice, though also incomplete  
orm/dsl-type library for database access (also built on top of HDBC).  
When I feel more confident/polished in the code there, I plan to  
split it out and hackage it as well.


Of course, folks with a little time/inclination who play with these  
things a bit and put them through the paces are a big help in working  
out the kinks such that I feel they're closer to release- 
quality (even if that release *is* only 0.1). :-)


Relatedly, I'd be very interested in developing a single common  
library for encoding/escaping/decoding/unescaping of common web  
formats (urls, javascript, basic xss escaping, rss-valid character  
escapes to html-valid ones, etc.) that uses a lightweight invertible  
combinator approach as described in Pierce's work on lenses (various  
papers at http://www.seas.upenn.edu/~harmony/) such that the encode/ 
decode methods are correct-by-construction bijections. There are  
various encoding bits scattered among the Haskell web libraries at  
the moment, each with varying degrees of correctness and conformance.  
It would be nice to direct energy here to a single centralized  
project, which would have some upfront architecture, and then,  
unfortunately, probably no small degree of spec-translation. If  
anyone else is interested in working on such a thing, I'd be  
delighted for ideas/collaboration (or better yet, if someone just  
picked up the idea and ran with it themselves!) (hmm... maybe galois  
has some internal libraries it wouldn't mind sharing as a partial  
basis?)


Regards,
Sterl.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread Don Stewart
s.clover:
 
 hvac sounds interesting but at that time at least it was not clear
 whether it was stable or would continue to be maintained.
 
 xhtml and HStringTemplate were overkill for what I wanted, so I  
 wound up
 just using the FastCGI and CGI toolkits themselves.  They are
 surprisingly nice, and with a little bit of wrappers around them for
 things like validating forms, have worked exceptionally well.
 
 
 I'm in a position now where I can make a reasonable promise that hvac  
 will not only be maintained but undergoing continued development. I  
 just, for example, hooked in some basic postgresql support yesterday  
 (although the changes are not tested/pushed to the repo yet).  
 (Speaking of which, I noticed that the HDBC postgresql bindings don't  
 set seState on an error -- is this intentional, or something that  
 should be fixed up?)

Sterling,

Would you like to add some text on hvac and your other web libs
to our web programming wiki/faq,

http://haskell.org/haskellwiki/Practical_web_programming_in_Haskell

Ideally, in a few months time, with enough additions, the full 
story will be covered on this wiki page, and it will be a great
boon to developers wanting to work in Haskell, in this hot area.

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread John Goerzen
Sterling Clover wrote:
 hvac sounds interesting but at that time at least it was not clear
 whether it was stable or would continue to be maintained.

 xhtml and HStringTemplate were overkill for what I wanted, so I  
 wound up
 just using the FastCGI and CGI toolkits themselves.  They are
 surprisingly nice, and with a little bit of wrappers around them for
 things like validating forms, have worked exceptionally well.

 
 I'm in a position now where I can make a reasonable promise that hvac  
 will not only be maintained but undergoing continued development. I  
 just, for example, hooked in some basic postgresql support yesterday  
 (although the changes are not tested/pushed to the repo yet).  
 (Speaking of which, I noticed that the HDBC postgresql bindings don't  
 set seState on an error -- is this intentional, or something that  
 should be fixed up?)

That would be a bug, I think.  Could you submit it over at
software.complete.org, ideally with test code?  (Even more ideally, with
a patch grin)

-- John
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread Paul L
Pardon me to hijack this thread, but I have an idea to build a
different kind of Web Framework and am not sure if somebody has
already done it.

The idea is to take REST further: every HTML page you see is a program
in its running state (as a continuation monad). Each click on its link
or form submission is seen as feeding data to resume its continuation.

So instead of writing a server-side program that responds to many CGI
calls, you write a single ordinary program that describe the
application logic, which during its execution gets represented as a
HTML page and interpreted by the server.

The server is then very much like a VM or an interpreter of an
embedded language, with execution stacks entirely encoded and stored
in each HTML page sent to the user and back from the user as an
encoded URL or form data. So the server is entirely stateless.

Besides providing scalability, the main advantage of this framework is
that web program can be written in a natural way which total ignores
stuffs like HTTP/CGI, protocol, session, client-server, etc, etc. Its
compiler or interpreter will figure out what part of the program data
(e.g. the code, the static environment) resides on the server side,
and what part is encoded into the HTML pages (e.g., the heap, the
dynamic environment).

Does such a beast exist or am I entirely day dreaming?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-04 Thread Brandon S. Allbery KF8NH


On 2008 Jun 4, at 22:30, Paul L wrote:


The server is then very much like a VM or an interpreter of an
embedded language, with execution stacks entirely encoded and stored
in each HTML page sent to the user and back from the user as an
encoded URL or form data. So the server is entirely stateless.



Mmm, if any of that HTML-stored state is sensitive server information,  
this becomes a problem. (E.g. can I trick your application into  
thinking I'm an admin and then go starting/stopping processes,  
changing passwords. etc.?)  You need to use extra care if anything  
sensitive is put where the client can munge it.


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-03 Thread Thomas Hartman
Note however that hpaste runs off an earlier version of HAppS, which
has changed radically from v8 to v9.

I seem to remember discussion of porting hpaste to the latest HAppS as
a demo app... are there still plans to do that?

Thomas.

2008/6/2 Don Stewart [EMAIL PROTECTED]:
 aditya_siram:

 I am building a web-app that, in broad strokes, allows a leader to
 assign tasks to team members and allows team members to
 accept/reject/pick tasks that they want to do.

 I really like Haskell and I would like to use it to implement the
 solution. Are frameworks like Happs ready? Not so much in terms of
 documentation, but in functionality and stability.

 HAppS is nice (see hpaste.org for example, which is nice and simple, and
 has been running for over a year).

 Another nice option in Haskell is using something like HStringTemplate
 or the xhtml combinators  with fastcgi hooked into GHC's concurrency
 mechanisms.

 You can find *many* more things here,

http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network
http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-03 Thread Thomas Hartman
note to the curious that this is a git and not a darcs repo

git clone http://code.haskell.org/hpaste.git

thomas.

2008/6/3 Don Stewart [EMAIL PROTECTED]:
 A new version of happs was written on a Monday a couple of months ago,
 using fastcgi and takusen. We're running it at galois, and you can
 find the code on code.haskell.org/hpaste. So not quite what you wanted,
 but another data point.

 -- Don

 tphyahoo:
 Note however that hpaste runs off an earlier version of HAppS, which
 has changed radically from v8 to v9.

 I seem to remember discussion of porting hpaste to the latest HAppS as
 a demo app... are there still plans to do that?

 Thomas.

 2008/6/2 Don Stewart [EMAIL PROTECTED]:
  aditya_siram:
 
  I am building a web-app that, in broad strokes, allows a leader to
  assign tasks to team members and allows team members to
  accept/reject/pick tasks that they want to do.
 
  I really like Haskell and I would like to use it to implement the
  solution. Are frameworks like Happs ready? Not so much in terms of
  documentation, but in functionality and stability.
 
  HAppS is nice (see hpaste.org for example, which is nice and simple, and
  has been running for over a year).
 
  Another nice option in Haskell is using something like HStringTemplate
  or the xhtml combinators  with fastcgi hooked into GHC's concurrency
  mechanisms.
 
  You can find *many* more things here,
 
 http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network
 http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-03 Thread Don Stewart
Ah yes, the url was incorrect. Well spotted.

tphyahoo:
 note to the curious that this is a git and not a darcs repo
 
 git clone http://code.haskell.org/hpaste.git
 
 thomas.
 
 2008/6/3 Don Stewart [EMAIL PROTECTED]:
  A new version of happs was written on a Monday a couple of months ago,
  using fastcgi and takusen. We're running it at galois, and you can
  find the code on code.haskell.org/hpaste. So not quite what you wanted,
  but another data point.
 
  -- Don
 
  tphyahoo:
  Note however that hpaste runs off an earlier version of HAppS, which
  has changed radically from v8 to v9.
 
  I seem to remember discussion of porting hpaste to the latest HAppS as
  a demo app... are there still plans to do that?
 
  Thomas.
 
  2008/6/2 Don Stewart [EMAIL PROTECTED]:
   aditya_siram:
  
   I am building a web-app that, in broad strokes, allows a leader to
   assign tasks to team members and allows team members to
   accept/reject/pick tasks that they want to do.
  
   I really like Haskell and I would like to use it to implement the
   solution. Are frameworks like Happs ready? Not so much in terms of
   documentation, but in functionality and stability.
  
   HAppS is nice (see hpaste.org for example, which is nice and simple, and
   has been running for over a year).
  
   Another nice option in Haskell is using something like HStringTemplate
   or the xhtml combinators  with fastcgi hooked into GHC's concurrency
   mechanisms.
  
   You can find *many* more things here,
  
  http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network
  http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web
   ___
   Haskell-Cafe mailing list
   Haskell-Cafe@haskell.org
   http://www.haskell.org/mailman/listinfo/haskell-cafe
  
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-03 Thread Don Stewart
A new version of happs was written on a Monday a couple of months ago,
using fastcgi and takusen. We're running it at galois, and you can
find the code on code.haskell.org/hpaste. So not quite what you wanted,
but another data point.

-- Don

tphyahoo:
 Note however that hpaste runs off an earlier version of HAppS, which
 has changed radically from v8 to v9.
 
 I seem to remember discussion of porting hpaste to the latest HAppS as
 a demo app... are there still plans to do that?
 
 Thomas.
 
 2008/6/2 Don Stewart [EMAIL PROTECTED]:
  aditya_siram:
 
  I am building a web-app that, in broad strokes, allows a leader to
  assign tasks to team members and allows team members to
  accept/reject/pick tasks that they want to do.
 
  I really like Haskell and I would like to use it to implement the
  solution. Are frameworks like Happs ready? Not so much in terms of
  documentation, but in functionality and stability.
 
  HAppS is nice (see hpaste.org for example, which is nice and simple, and
  has been running for over a year).
 
  Another nice option in Haskell is using something like HStringTemplate
  or the xhtml combinators  with fastcgi hooked into GHC's concurrency
  mechanisms.
 
  You can find *many* more things here,
 
 http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network
 http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-03 Thread Duncan Coutts

On Tue, 2008-06-03 at 10:23 -0700, Don Stewart wrote:
 A new version of happs was written on a Monday a couple of months ago,
 using fastcgi and takusen. We're running it at galois, and you can
 find the code on code.haskell.org/hpaste. So not quite what you wanted,
 but another data point.

That's very interesting. I hope we will also see a version with the same
feature set implemented with the latest HAppS. It would give an
interesting comparison of the web frameworks to see the same app
implemented in both.

Duncan

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-02 Thread Aditya Siram

I am building a web-app that, in broad strokes, allows a leader to assign tasks 
to team members and allows team members to accept/reject/pick tasks that they 
want to do. 

I really like Haskell and I would like to use it to implement the solution. Are 
frameworks like Happs ready? Not so much in terms of documentation, but in 
functionality and stability. 

-Deech
_
Give to a good cause with every e-mail. Join the i’m Initiative from Microsoft.
http://im.live.com/Messenger/IM/Join/Default.aspx?souce=EML_WL_ 
GoodCause___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-02 Thread Marc Weber
On Mon, Jun 02, 2008 at 09:37:11AM -0500, Aditya Siram wrote:
 
 I am building a web-app that, in broad strokes, allows a leader to assign 
 tasks to team members and allows team members to accept/reject/pick tasks 
 that they want to do. 
 
 I really like Haskell and I would like to use it to implement the solution. 
 Are frameworks like Happs ready? Not so much in terms of documentation, but 
 in functionality and stability. 
Me too, but in this case if it's only about assigning tasks you should
consider using existing solutions such as flysrpay or mantis 
http://www.mantisbt.org/
Maybe they fit your needs ?

mit freundlichem Gruss
Marc Weber
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-02 Thread Don Stewart
aditya_siram:
 
 I am building a web-app that, in broad strokes, allows a leader to
 assign tasks to team members and allows team members to
 accept/reject/pick tasks that they want to do. 
 
 I really like Haskell and I would like to use it to implement the
 solution. Are frameworks like Happs ready? Not so much in terms of
 documentation, but in functionality and stability. 

HAppS is nice (see hpaste.org for example, which is nice and simple, and
has been running for over a year).

Another nice option in Haskell is using something like HStringTemplate
or the xhtml combinators  with fastcgi hooked into GHC's concurrency
mechanisms.

You can find *many* more things here,

http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network
http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the maturity of Haskell Web Frameworks

2008-06-02 Thread Keith Fahlgren

On 6/2/08 10:21 AM, Don Stewart wrote:

aditya_siram:

I am building a web-app that, in broad strokes, allows a leader to
assign tasks to team members and allows team members to
accept/reject/pick tasks that they want to do. 


I really like Haskell and I would like to use it to implement the
solution. Are frameworks like Happs ready? Not so much in terms of
documentation, but in functionality and stability. 


HAppS is nice (see hpaste.org for example, which is nice and simple, and
has been running for over a year).

Another nice option in Haskell is using something like HStringTemplate
or the xhtml combinators  with fastcgi hooked into GHC's concurrency
mechanisms.


If you're interested in the background of rolling your own web stuff, I like 
Paul Brown's description of building perpubplat here: http://mult.ifario.us/t/blog



HTH,
Keith

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe