Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ion Language
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
dist changed watch to watchValue
docs fixed automated testing
test manually merged language branch
.npmignore manually merged language branch
bower.json can build packages from parent directory now

ion language


Ion is a javascript based reactive language.

The primary goal of the language is to minimize the costs of writing, extending and maintaining a large application.

Most complexity in modern applications relates to the dependencies between the view and the model. More generically, we can consider both the view and the model to be object structures. So the generic problem is that we have an output structure dependent on an input structure. When the input structure changes then we need to dynamically update the output structure. A significant portion of all design patterns are focused on how to handle this problem.

Reactive programming provides the solution to this problem of dependency. By integrating the ability to write declarative, incrementally reactive template functions directly into our language, we are able to author dynamic and responsive applications using a subset of the same familiar programming constructs that we are using in our current imperative languages.


The basic syntax is similar to javascript harmony version with an indented structure inspired by coffeescript.

See docs/samples/syntax.html and reactive.html for more information.

Something went wrong with that request. Please try again.