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.
To get started with AmbientTalk programming, we recommend installing our Intellij IDEA plugin (see IDE support).
If you are interested in downloading a stand-alone version of the AmbientTalk/2 interpreter and run it via command line:
See the changelog for changes w.r.t. previous versions.
This build contains:
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:
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/init.at is loaded by default in each actor created at runtime to intialize that actor's global scope.
$PATHenvironment variable, such that
iatcan be invoked from any directory. Note also that
iatassumes that the
javaexecutable is available on the
iat.bathas been reported not to work when the
AT_HOMEdirectory contains spaces, so consider placing your AmbientTalk distribution in a directory that does not contain spaces.
The AmbientTalk/2 interpreter is written in pure Java and requires a regular J2SE Java Virtual Machine supporting version 1.5 or higher. AmbientTalk currently runs on Android version 1.6 or higher, and on J2ME under a CDC/Personal Profile configuration.
Additional instructions on how to run AmbientTalk on J2ME.
We recommend using our Intellij IDEA plugin which already contains the AmbientTalk/2 interpreter and the AmbientTalk standard library (atlib).
For Mac OS X users that use TextMate, there exists a TextMate bundle for AmbientTalk/2, which is available for download below.
The TextMate plugin supports:
defetc. (by pressing TAB)
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.