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
palindrome.hs
To search palindromes: one box present the other's reversed. It is also an examp...
more
helloworld.hs
The hello world program using hplayground
...
more
questions.hs
Fields of a form appear in sequence. 
Some of the fields trigger events instantl...
more
pascaltriangle.hs
pascal triangle http://www.haskell.org/haskellwiki/Blow_your_mind
...
more
none.hs
...
more
haste-concurrency.hs
adapted from the concurrency example form haste at:
https://github.com/valderman...
more
test.hs
...
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
console.hs
What a basic console application would look like using hplayground
...
more
sumfold.hs
Sum three numbers and append the result using a fold
...
more
hplay-sockets.hs
Hplayground WebSockets have de-inversion of control. it uses wsAsk for syncronou...
more
haste-calculator.hs
calculator example taken from the haste examples at:
https://github.com/valderma...
more
ajax.hs
Hplayground Ajax control is de-inverted. This means that ajax request follows th...
more
widgets.hs
links, radio buttons, option buttons etc
...
more
drawcanvas.hs
This example draw a function of x between 10 and -10. You can define the functio...
more
hello-haste.hs
This program will ask the user for her name, and echo a greeting back into
this ...
more
spreadsheet.hs:
Example of spreadsheet-like behaviour using loeb iteration
http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html
with loop detection and resolution.

This program calculates speed, time and space. Each one depends on the other two
Each cell has two values: his current entered value and the expression which 
calculates it from other cell values/expressions. curcularity is permitted.

The Cell recalculation code uses the famous loeb expression (see the link below)
But to speed up a little, in this case (Map String Float) is used instead of a list of floats
Since loeb enters in a infinite loop when circular expressions are used, the
program counts the loops and reduces complexity by progressively substituting
formulas by cell values until the expression has no loops

This program is configured for inmediate recalculation, but that can be changed
to allow the modification of more than one cell be

execute alone | edit & compile & execute | delete

todo.hs
the todoMVC application using the hplayground client framework.
see http://todo...
more
mybudget.hs
A personal budget application example
It uses Google Graphics to draw a chart
...
more
gallery.hs
this example show a image gallery. It advances each 20 seconds and by pressing t...
more
sumtwonumbers.hs
sum two numbers
...
more
PerchLikeJQuery.hs
Example of the new Perch forElems primitive that perform JQuery-like modificatio...
more
htryhplay.hs
The browser side part of tryplayground coded as a single page hplayground app.

...
more
at.hs
relocating the output within a div using 'at'

classical presentation of a sum ...
more
examples.hs
Many small examples put together to show how easy is to compose hplayground elem...
more
sumrecursive.hs
Sum recursively n numbers. When enters 0, present the result
...
more
fact.hs
factorial 
...
more
mouse.hs
show mouse events 
...
more
counter.hs
Two counters. One is pure and recursive, the other is stateful
...
more
foreign.hs
Haste calling JScript calling Haskell
based on https://github.com/coopernurse/ha...
more