HaskellWiki

Haskell | Wiki community | Recent changes
Random page | Special pages

 

Not logged in
Log in | Help

Hajax

Categories: Applications

Ajax applications are stand-alone Web applications that execute into the browser environment, communicating with one or more server back-ends only to get raw data.

Ajax applications can be written using either:

Hajax is a proposal to create a Haskell-based tool to program 'stand-alone' Ajax applications.

The main advantages of Hajax would be:

Likely disadvantages with respect to native Ajax solutions are:

Hajax would consist of the following modules:

Contents

1 Compiler

Requirements:

1.1 Compiler Design alternatives

1.1.1 Direct Compilation

Haskell code is directly compiled to JavaScript.

Advantage: possibly higher run-time performance, thanks to a more direct mapping between Haskell and JavaScript.

An example of this approach is Dimitry Golubovsky's nhc98 to JavaScript Compiler, see [1] and in particular [2].

1.1.2 Two-Stages Compilation

Haskell code is compiled into an intermediate format (e.g. bytecodes or C-- or LLVM) that is then compiled to JavaScript.

For example: yhc to yhc bytecode to JavaScript (via the yhc bytecode API) or similarly with GHCi bytecodes.

Advantage: much faster to develop as there would be less or no changes required in the compiler and the bytecode to JavaScript compilation should be straightforward.

Dimitry Golubovsky has been working on a Yhc Core to Javascript converter, see Yhc/Javascript. This continues the nhc98-based compiler to Javascript project mentioned above.

1.2 Compiler Targets

Possible targets for the compiler are:

2 Generic Haskell Libraries

Libraries that would be useful include:

3 UI Framework and Libraries

Most of the Haskell frameworks developed for GUI programming (see Libraries_and_tools/GUI_libraries) or Web programming (e.g. HSPClientside, see a full list at Libraries_and_tools/Web_programming) could be adapted for Hajax.

The libraries would include:

4 Development Environment

It should be relatively easy to adapt existing Haskell development environments like EclipseFP to work with Hajax.

5 Existing AJAX Applications Written in Haskell

6 Similar Tools

Retrieved from "http://www.haskell.org/haskellwiki/Hajax"

This page has been accessed 3,097 times. This page was last modified 13:18, 26 March 2008. Recent content is available under a simple permissive license.