[Haskell-cafe] Need advice: Haskell in Web Client

Bardur Arantsson spam at scientician.net
Thu Jan 26 18:18:18 CET 2012

On 01/26/2012 11:16 AM, dokondr wrote:
> On Thu, Jan 19, 2012 at 1:37 AM, Dag Odenhall<dag.odenhall at gmail.com>wrote:
>> On Tue, 2012-01-17 at 22:05 +0300, dokondr wrote:
>>> I prefer using Turing complete PL to program web client, like the one
>> used
>>> in GWT (Java) or Cappuccino  (Objective-J). http://cappuccino.org/learn/
>>> In this case you /almost/ don't need to know  HTML, CSS, DOM, Ajax, etc.
>> to
>>> develop WebUI and good PL lets you concentrate on problem domain instead
>> of
>>> bothering about browser support.
>>> It is a real pity that Haskell still has no such tools to generate Web
>> GUI
>>> in Javascript. (((
>> Have you seen Chris Done's posts on the subject?
>> http://chrisdone.com/tags/javascript.html
> Thanks for the link! (Never seen this before)
> Ideally, I would be happy to be able to write in Haskell a complete
> front-end / GUI, so it could be compiled to different back-ends: Javascript
> to run in the Browser and also a standalone app.
> In Python world this is already done with Pyjamas (http://pyjs.org/) - "a
> Rich Internet Application (RIA) Development Platform for both Web and
> Desktop."
> Also from Pyjamas site:
> Pyjamas "... contains a Python-to-Javascript compiler, an AJAX framework
> and a Widget Set API.
> Pyjamas Desktop is the Desktop version of Pyjamas
> Pyjamas Desktop allows the exact same python web application source code to
> be executed as a standalone desktop application (running under Python)
> instead of being stuck in a Web browser."
> Architecture diagram
> http://pyjs.org/wiki/pyjamasandpyjamasdesktop/
> I wonder if somebody works on similar Haskell "Rich Internet Application
> (RIA) Development Platform" ?
> Any ideas, comments on implementation of such system in Haskell? What
> existing Haskell GUI libraries can be used for a desktop GUI, etc.?

Well, it's basically just proof-of-concept at the moment, and it's not 
really usable for real applications at the moment, but there is


The basic client<->server communication, server-side state handling, 
etc. is there, but it's missing a couple of things before it could be 
used for real apps: There's no real security, and there are *very* few 
widgets. The few widgets that exist at the moment are also probably 
lacking a few operations. On the plus side, it's should be pretty easy 
to create new widgets.

You can get a feel for how the thing looks from an application 
programmer's perspective by looking at the source for the example.

More information about the Haskell-Cafe mailing list