User Tools

Site Tools


notes:syndicate

This is an old revision of the document!


The Syndicated Actor Model (SAM)

This information is provided by someone familiar with SAM but little knowledge of Folk. Some claims about Folk may be regrettably inaccurate.

The Syndicated Actor Model (SAM) is a system for working with software actors that is convergent with Folk.

SAM is not a single program or library but a data language and protocols with a set of implementations for different languages. There is a common set of features with each language as varying in how much of the feature set is supported. Implementations with a simple feature set use the Syndicate protocol to communicate with actors in other languages that provided missing functionality.

Similarities

Universe of knowledge

Folk has a Database of statements and SAM Dataspaces of asserted facts.

Tcl

Folk is primarily written in Tcl and SAM has a basic Tcl implementation.

Reactive paradigm

Both use a reactive programing paradigm:

# Folk
When $program has resolved geometry /geom/ {
    Claim $editor has resolved geometry $geom
}
# Sycl
during "<resolved-geometry $program @geom #?>" {
  assert "<resolved-geometry $editor $geom>"
}

Differences

Composition

Folk is composed as a Tcl program. SAM is a composition of actors conversing using the Syndicate protocol.

Data

Folk uses statements built from tokens. SAM uses the Preserves data language and relies on compound values such as lists, records (<some-label some fields …>), dictionaries, and sets.

Tokens

SAM has distinct text-string, byte-string, and symbol data types, which is a pain to deal with in Tcl. Folk uses Tcl values.

notes/syndicate.1789372961.txt.gz · Last modified: by emery

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki