A programming language for the realtime web.
Latest commit 9386db5 May 20, 2013 @marcuswestin disable broken tests
Failed to load latest commit information.
apps Make fun auto-refresh on file save by default Apr 28, 2012
bin Fix commandline invocation Apr 30, 2012
examples Update examples and modules to not use Apr 11, 2012
node_modules fix build May 20, 2013
specification Update examples and modules to not use Apr 11, 2012
src dom was renamed May 20, 2013
test disable broken tests May 20, 2013
.gitignore added vim temp files to gitignore Jul 7, 2012
.gitmodules fix build Jan 21, 2013
.travis.yml πŸ’Ž Added travis.yml file πŸ’Ž Aug 23, 2012
Changelog fix version number 0.3.0 Apr 30, 2012
Makefile Don't run tests during setup May 1, 2012
README.md remove duplicate build status Aug 24, 2012
package.json fix build May 20, 2013



A declarative programming language for realtime web applications

Build Status

Getting started

Try this:

sudo npm install -g fun
echo '"Hello world!"' > hello.fun
fun hello.fun
# Open your browser to localhost:8080

Also try

curl https://raw.github.com/marcuswestin/fun/master/apps/todo-mvc/todo-mvc.fun > todo-mvc.fun
curl https://raw.github.com/marcuswestin/fun/master/apps/todo-mvc/todo-mvc.css > todo-mvc.css
fun todo-mvc.fun


Hello World

"Hello world!"

Drag and Drop

import mouse

<div style={
    position:   'absolute',
    top:        mouse.y + 50,
    left:       mouse.x + 50,
    width:      100,
    height:     100,
    background: 'red'

Getting involved

The best way to get involved is to start writing fun apps and using them. There are bugs and inefficiencies waiting to be discovered!

If you want to hack on the source:

git clone https://marcuswestin@github.com/marcuswestin/fun.git
cd fun
make setup
make test