User Tools

Site Tools


notes:syndicate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
notes:syndicate [2026/09/14 08:02] – first draft of syndicate notes emerynotes:syndicate [2026/09/15 12:33] (current) – [Further reading] emery
Line 2: Line 2:
  
 //This information is provided by someone familiar with SAM but little knowledge of Folk. Some claims about Folk may be regrettably inaccurate.// //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. The Syndicated Actor Model (SAM) is a system for working with software actors that is convergent with Folk.
Line 12: Line 11:
 === Universe of knowledge === === Universe of knowledge ===
  
-Folk has a [[.:internals:db|Database]] of statements and SAM [[https://synit.org/book/syndicated-actor-model.html#dataspaces|Dataspaces]] of asserted facts.+Folk has a [[.:internals:db|database]] of statements and SAM [[.:syndicate#dataspaces|dataspaces]] of asserted facts.
  
 === Tcl === === Tcl ===
Line 19: Line 18:
 === Reactive paradigm === === Reactive paradigm ===
 Both use a reactive programing paradigm: Both use a reactive programing paradigm:
-<code>+<code tcl>
 # Folk # Folk
 When $program has resolved geometry /geom/ { When $program has resolved geometry /geom/ {
Line 26: Line 25:
 </code> </code>
  
-<code> +<code tcl
-Sycl+Syndicate for Tcl 
 + 
 +## Folk style 
 +during "[$program has resolved geometry @geom #?]" { 
 +  assert [list $editor has resolved geometry $geom] 
 +
 + 
 + 
 +## Native style
 during "<resolved-geometry $program @geom #?>" { during "<resolved-geometry $program @geom #?>" {
-  assert "<resolved-geometry $editor $geom>"+  assert [preserves::record resolved-geometry $editor $geom]
 } }
 </code> </code>
Line 41: Line 48:
 === Data === === Data ===
 Folk uses [[.:internals:trie|statements]] built from tokens. Folk uses [[.:internals:trie|statements]] built from tokens.
-SAM uses the [[https://preserves.dev/|Preserves]] data language and relies on compound values such as lists, records (<some-label some fields ...>), dictionaries, and sets.+SAM uses the [[https://preserves.dev/|Preserves]] data language and relies on compound values such as lists, records (''<some-label some fields ...>''), dictionaries, and sets.
  
 == Tokens == == Tokens ==
 SAM has distinct text-string, byte-string, and symbol data types, which is a pain to deal with in Tcl. SAM has distinct text-string, byte-string, and symbol data types, which is a pain to deal with in Tcl.
 Folk uses Tcl values. Folk uses Tcl values.
 +
 +==== What Folk has got ====
 +
 +  * Intuitive physical interface.
 +  * Intuitive language for programs.
 +  * Physically delineated security.
 +
 +==== What Syndicate has got ====
 +
 +  * Addressable program/actor entities((https://synit.org/book/glossary.html#entity))
 +  * Protocol for communicating with external entities and machines((https://synit.org/book/protocol.html))
 +  * Libraries for multiple languages, programs written in different languages can communicate using a common protocol.
 +
 +=== Dataspaces ===
 +
 +Dataspaces((https://synit.org/book/syndicated-actor-model.html#dataspaces)) are a special SAM entities that hold Syndicate assertions of facts for observation by other actors. A program may have any number of internal dataspaces for holding facts. SAM implementations like [[.:Sycl]] do not support local dataspaces but do access dataspaces hosted by other programs.
 +
 +Folk databases use a [[.:internals:trie]] whereas SAM dataspaces use what is described as a skeleton((https://git.syndicate-lang.org/syndicate-lang/syndicate-rkt/src/branch/main/syndicate/HOWITWORKS.md)).
 +
 +===== Further reading =====
 +
 +  * https://syndicate-lang.org/
 +  * https://synit.org/book/syndicated-actor-model.html
 +  * https://tiddly.informatics.coop/
 +
notes/syndicate.1789372961.txt.gz · Last modified: by emery

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki