Ambience is a proof-of-concept language for mobile computing, inspired primarily on Slate, Self, Smalltalk and Lisp. The implementation is under heavy development. This means that the language may still undergo important changes.

News

22 October 2007
Today I will be presenting Ambience's main techniques for dealing with context-aware behaviour adaptation at the Dynamic Languages Symposium.
25 September 2007
I began developing an operational semantics for the core of Ambience, using PLT Redex.
17 August 2007
I am currently writing my thesis, which will hopefully improve the situation regarding the documentation of the language. Don't expect loads of progress on the implementation side, though.
25 April 2007
Switching of contexts is working now; it uses a context combination mechanism which I'll describe somewhere in the near future.
21 March 2007
Snapshot published before a major rework of how subjective dispatch is handled.
21 February 2007
Snapshot published before a major rework of the internal representation of cloning family map objects.
23 January 2007
Initial revision published. The code has been organised in various subsystems, the most important of which is labelled 'core'.

Download

Note that the current code base contains little documentation, which makes it practically unusable for external parties. This situation will hopefully change in the future.

The current development version is available as a Darcs repository. You can get it with the following command:

darcs get http://www.info.ucl.ac.be/~sgm/ambience/current/

The following snapshots are also available (these serve mainly as a backup for myself):

Presentations