User Tools

Site Tools


notes:syndicate

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
notes:syndicate [2026/09/15 07:48] – Add dataspaces section emerynotes:syndicate [2026/09/15 12:33] (current) – [Further reading] emery
Line 11: Line 11:
 === Universe of knowledge === === Universe of knowledge ===
  
-Folk has a [[.:internals:db|Database]] of statements and SAM [[.:syndicate#dataspaces|Dataspaces]] of asserted facts.+Folk has a [[.:internals:db|database]] of statements and SAM [[.:syndicate#dataspaces|dataspaces]] of asserted facts.
  
 === Tcl === === Tcl ===
Line 18: 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 25: Line 25:
 </code> </code>
  
-<code>+<code tcl>
 # Syndicate for Tcl # 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 40: 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 ==
Line 46: Line 54:
 Folk uses Tcl values. Folk uses Tcl values.
  
-===== Dataspaces =====+==== 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. 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)). 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.1789458536.txt.gz · Last modified: by emery

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki