Wolfgang De Meuter
Last revision: November 3th, 1997
Agora Implementations
There are several implementations of (several flavours of) Agora available.
The most recent version of Agora is Agora98. Agora98 is really . It was implemented in Java 1.1 and allows full access to the implementation
and to all Java API's. Feels great to dynamically open windows in your
webbrowser (by talking to the virtual machine in Agora98). Check out
the
agora98 homepage (we called it Agora98 because there is already an
Agora97, a modification of the C++ version.
Agora96.
was implemented in C++ and allows full access to the implementation.
Releases of Agora96 are available for
Macintosh and Windows (NT & 95). The application comes with several
examples and a 90-page language manual.
The first 'official' version of Agora was Agora94.
A
Smalltalk implementation of Agora94 (implemented in Visualworks Smalltalk)
can be fetched from our FTP-site. In the Agora94
directory you find
papers,
a
manual, the Smalltalk file outs, examples and a paper giving a full
description of Agora94. Be sure to read the readme file
before installing the system!
Agora-S
is a down scaled variant of Agora94 implemented in Scheme (hence the S).
The difference between Agora-S and Agora94 is comparable to the difference
between Scheme and more verbose functional programming languages like ML,
Lisp or Haskell. Agora-S was designed to be a full-fledged programming
language containing only a minimal number of constructs, much in the
spirit of Scheme itself.
Agora-S is a compiler compiling Agora-S code to Scheme. It is not
very-well documented. Some minor documentation can be found on our
WWW-site. The implementation can be FTP'ed for
MacGambit.
In order to support our paper at ECOOP'95, a
denotational semantics of
Agora is
implemented in Scheme and in Gofer. It is a very tiny version of
(non-reflective) Agora implemented
in order to
make our inheritance mechanism clear. This small language is called
MiniMix.
Those of you that have no time to learn 'full-fledged' Agora but
would like to
experiment with our inheritance mechanism are best off with MiniMix.
The
implementation, together with a few examples, is available in
Scheme and in Gofer
from our FTP-site.