Hi,

 

Those among you who have an interest in AJAX-style web development – that is to say the development of web applications that run entirely into the browser environment, calling back to the server back-end only to get raw data -- will probably have noticed the recent appearance of the Google Web Toolkit (http://code.google.com/webtoolkit).

 

The main idea behind it is very simple: you write your Ajax application in Java and your code is compiled down to _javascript_/HTML (rather then to Java Virtual Machine bytecode) so that it can be executed in any browser.

 

 

The main advantages of this solution are:

- Development using a typed language with good compile-time checks and debugger support

- No plugins (e.g. a Java VM) required on the user machine

 

 

The disadvantages are:

- An additional compilation step

- Probably, a significant loss of performance with respect to hand-written code

 

 

Assuming that the balance is positive, this naturally raises the question: why not doing the same with our favourite language?

 

This would require to:

-          Retarget one of the existing Haskell compilers to generate _javascript_ (other possible targets would be Flash or higher level UI languages such as OpenLaszlo that in turn compiles down to either Flash or _javascript_/HTML)

-          Write a suitable runtime library (including support for native _javascript_ or Flash UI components, remote method invocations, multi-threading, etc.)

-          Port a usable subset of the Haskell Libraries

-          Select an approach to write user interfaces in Haskell. There have been many attempts in this direction but I am unsure if any of them has proven particularly successful.

 

All considered, quite a significant amount of work -- that would require a concerted group effort -- with a rather uncertain pay-off.

 

 

Is anyone working on anything similar or that might be interested in such a project?

 

 

And has anyone any thoughts to offer on what compilers/libraries/UI frameworks would be more suitable for the task?

 

 

 

Regards,

 

       titto assini

 

 

 

 

 

 

 

 

 

 

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to