This is an old revision of the document!
Table of Contents
Sycl
Sycl is the Tcl implementation of the Syndicated Actor Model.
Sycl is comprised of the preserves and syndicate libraries.
Preserves
A Tcl interpreter extension1) implemented in Nim. Preserves2) is the data language used by Syndicate. Preserves can be written in text syntax, which the interpreter extension can parse automatically from Tcl strings. Preserves also has a binary syntax, which the Syndicate library uses for communicating over a network.
Syndicate
The Syndicate library3) is implemented in pure Tcl and makes heavy use of namespaces.
The library supports a SAM facet4) tree using nested namespaces. The during proc (equivalent to When) executes its handle script in a new namespace on every match, and when the during statement expires the dataspaces are destroyed automatically.
The library does not implement dataspaces.
It can however communicate with external dataspaces provided by syndicate-server from the Rust implementation5).
Availability
Sycl is only known to have been built with the Nix package manager, but Nix can work on practically any Linux distro. Sycl is compatible with Tcl 8 & 9.
Example programs
- Synit service utility: https://git.syndicate-lang.org/synit/synit-service
