This is a major change to the previous design, and also a change with respect to the semantics in the ESOP 2016 paper. All the complexity of echo-cancellation is stripped out of the core dataspace semantics, and the relaying protocol is changed from one constructor, `at-meta`, to two, `inbound` and `outbound`. The relay connecting a dataspace to its container is now completely symmetric with the contained actors: it initially asserts interest in what it is to relay, just like any other actor would. Dataspaces no longer treat relaying specially. This commit has updated all (I think) of the non-graphical examples. The graphical code remains to be done in a following commit. |
||
---|---|---|
.. | ||
doc | ||
syndicate | ||
syndicate-gl | ||
.gitignore | ||
FAQ.md | ||
Makefile | ||
README.md | ||
info.rkt |
README.md
Racket implementation of Syndicate
The language itself
This repository contains a Racket
implementation of Syndicate in syndicate
, which includes
-
the implementation of the
#lang syndicate
language, in thesyndicate
directory. -
a TCP echo server example, which listens for connections on port 5999 by default, in
syndicate/examples/echo.rkt
. Connect to it using, for example,telnet localhost 5999
. -
a handful of other examples, in
syndicate/examples/
.
Auxiliary collects
syndicate-gl
is a Syndicate interface to 2D OpenGL based graphics
Compiling and running the code
You will need Racket version 6.4.0.14 or later.
Once you have Racket installed, run
raco pkg install syndicate
to install the package from the Racket package repository, or
raco pkg install
from the racket/
directory of the Git checkout to install the package
from a local snapshot. (Alternatively, make link
does the same thing.)
This will make #lang syndicate
available to programs.
At this point, you may load and run any of the example *.rkt
files
in the
syndicate/examples/
directory.
Copyright
Copyright © Tony Garnock-Jones 2010, 2011, 2012, 2013, 2014, 2015, 2016.