This is an old revision of the document!

Downloading/Installing AmbientTalk


AmbientTalk AmbientTalk/2 is the latest incarnation of the AmbientTalk programming language. The language can best be described as ‘a language for scripting your PDA‘. The language has been designed to implement distributed applications for mobile networks. The language provides built-in support for concurrency (actors), distributed message passing, peer-to-peer discovery, partial failure handling, ...

AmbientTalk/2 has been designed to co-exist with available Java programs. It offers a symbiotic interface to the Java language, making it possible to instantiate and use Java objects from within AmbientTalk, and to pass AmbientTalk objects that implement a Java interface to the Java level. This makes AmbientTalk an ideal language to write ‘distributed glue code’ to make isolated Java programs talk to one another.


Download the latest build. See the changelog for changes w.r.t. previous versions.

This build contains:

  • The AmbientTalk/2 Interpreter (about 500K)
  • The IAT Interactive AmbientTalk Shell
  • The system library
  • Additional libraries (ANTLR,GetOpt) used by the interpreter (about 500K)
  • The TextMate plugin (see below)

The AmbientTalk/2 interpreter is written in pure Java and requires a regular J2SE Java Virtual Machine supporting version 1.3 or higher. AmbientTalk can be run under the Java 2 Micro Edition (J2ME) CDC/Personal Profile. This allows AT/2 to run on PDAs and high-end cellular phones. A build for J2ME CLDC is currently not available.

Installation and Usage

To run the interactive shell, it suffices to launch the included iat shell script. IAT is a simple read-eval-print loop: statements are typed at the command line, evaluated and the result is printed to standard output. Note that the log and error traces are piped to the console.

For an overview of the iat shell options, execute:

iat --help

The system library shipped with the build can be found in the at/ directory. It includes, among others, some demo applications and additional language constructs (most notably future-type asynchronous message sends). Also, the file at/init/ is loaded by default in each actor created at runtime to intialize that actor’s global scope.

We advise you to add iat to the $PATH environment variable, such that iat can be invoked from any directory. Note also that iat assumes that the java executable is available on the $PATH

TextMate Plugin

Support for AmbientTalk is available in the form of a TextMate bundle for AmbientTalk/2, which is available in the latest build.

The TextMate plugin supports:

  • Source code colouring
  • Autocompletion for statements such as if, def etc. (by pressing TAB)
  • Running AmbientTalk/2 scripts by pressing Apple+R (output is shown in a separate window)

Please note: upon installing the bundle, you need to set the AT_HOME variable in the TextMate Preferences window (under the Advanced tab pane) to point to the directory in which iat can be found.

For a full overview of the supported features, open the Bundles > Bundle Editor > Show Bundle Editor menu and select the AmbientTalk 2 bundle in the bundle editor. All available actions, together with their hotkey are listed there.


See the tutorial for an introduction to AmbientTalk/2. An overview of the available primitives and libraries is available in the language reference.

The Javadoc of the Interpreter is also online. It provides documentation about the implementation of the interpreter. A design document describing the design of the interpreter will follow soon.


:at:qtek_small.png AmbientTalk is a contemporary distributed programming language. It is an ambient-oriented programming language, which means that it is particularly geared towards developing next-generation distributed software which has to run on mobile devices (such as cellular phones or PDAs) deployed on open, ad hoc wireless networks. At its core, AmbientTalk uses a prototype-based object model for building abstractions. Its distribution and concurrency facilities are heavily inspired by the actor model. Current implementations are available for the Java J2SE and J2ME (PocketPC) platforms. This page provides access to the latest version of AmbientTalk, and gives some instructions on how to deploy it on your desktop or PDA.

AmbientTalk on a Desktop Computer

AmbientTalk consists of two JAR files.

Core Contains the core of the AmbientTalk evaluator, which interprets the AmbientTalk language.

Desktop Frontend Contains the J2SE Swing interface for running AmbientTalk on a desktop machine. Once both files are downloaded into a single directory on your machine you may simply run java -jar ambienttalkdt.jar (Or typically you may also double-click on this JAR file)

AmbientTalk on a PDA or Smartphone

AmbientTalk is developed to run on a virtual machine that supports the J2ME CDC Personal Profile 1.0. For our experiments we have deployed AmbientTalk on top of IBM’s J9 virtual machine, but the implementation of AmbientTalk does not require any of the libraries that are specific to this virtual machine. AmbientTalk for PDAs and SmartPhones also consists of two JAR files.

Core Contains the core of the AmbientTalk evaluator, which interprets the AmbientTalk language.

PocketPC Frontend Contains the J2ME AWT interface for running AmbientTalk on a PDA. (Note that this version may be tested as well on a desktop machine, since no native GUI components are used)

Once both files are downloaded, transfer them to your device and launch the PocketPC frontend. Using the J9 virtual machine the following shortcut is needed : “\Program Files\J9\PPRO10\bin\j9w.exe” “-jcl:ppro10” “-cp” “\AmbientTalk\ambienttalkppc.jar” “edu.vub.picoo.process.AmbientTalk”

at/download.1175868100.txt.gz · Last modified: 2007/04/06 16:03 by tvcutsem
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki