Try Haste & HPlayground client-side framework.

Create, compile to HTML+JavaScript and execute your Haskell programs in the browser

Run this locally or create your own heroku instance: code & docs

Save your compliled program (HTML+Javascript) by downloading the HTML generated page , which contains all the JScript necesary for running it locally

Thanks to Anton Ekblad for his wonderful haste compiler

NOTE: this IDE does not execute Haste programs with server side (using Haste.App)

NOTE 2: From time to time Heroku reset the instance and erase your files

Create a new program

Compile a Haste project from a Git repository

Or you can modify and rename one of these examples:

sumcell.hs
 sum recursively n numbers, but remember the previous entries when one entry is ...
more
at.hs
relocating the output within a div using 'at'

classical presentation of a sum ...
more
mouse.hs
show mouse events 
...
more
haste-canvas-simple.hs
Adapted from the canvas-simple from the Haste repository at:
https://github.com/...
more
form-validation.hs
Example of form validation with tree different presentation of error:
As a inlin...
more
PerchLikeJQuery.hs
Example of the new Perch forElems primitive that perform JQuery-like modificatio...
more
todo.hs
the todoMVC application using the hplayground client framework.
see http://todo...
more
fact.hs
factorial 
...
more
haste-concurrency.hs
adapted from the concurrency example form haste at:
https://github.com/valderman...
more
widgets.hs
links, radio buttons, option buttons etc
...
more
hello-haste.hs
This program will ask the user for her name, and echo a greeting back into
this ...
more
none.hs
...
more
questions.hs
Fields of a form appear in sequence. 
Some of the fields trigger events instantl...
more
foreign.hs
Haste calling JScript calling Haskell
based on https://github.com/coopernurse/ha...
more
helloworld.hs
The hello world program using hplayground
...
more
test.hs
...
more
sumtwonumbers.hs
sum two numbers
...
more
hplay-sockets.hs
Hplayground WebSockets have de-inversion of control. it uses wsAsk for syncronou...
more
gallery.hs
this example show a image gallery. It advances each 20 seconds and by pressing t...
more
pascaltriangle.hs
pascal triangle http://www.haskell.org/haskellwiki/Blow_your_mind
...
more
palindrome.hs
To search palindromes: one box present the other's reversed. It is also an examp...
more
console.hs
What a basic console application would look like using hplayground
...
more
counter.hs
Two counters. One is pure and recursive, the other is stateful
...
more
sumfold.hs
Sum three numbers and append the result using a fold
...
more
spreadsheet.hs
Example of spreadsheet-like behaviour using loeb iteration
http://blog.sigfpe.co...
more
sumrecursive.hs
Sum recursively n numbers. When enters 0, present the result
...
more
htryhplay.hs
The browser side part of tryplayground coded as a single page hplayground app.

...
more
mybudget.hs
A personal budget application example
It uses Google Graphics to draw a chart
...
more
haste-calculator.hs
calculator example taken from the haste examples at:
https://github.com/valderma...
more
examples.hs
Many small examples put together to show how easy is to compose hplayground elem...
more
ajax.hs
Hplayground Ajax control is de-inverted. This means that ajax request follows th...
more
drawcanvas.hs
This example draw a function of x between 10 and -10. You can define the functio...
more