notes:sycl
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| notes:sycl [2026/09/15 08:09] – Fill out Sycl notes emery | notes:sycl [2026/09/15 12:55] (current) – [Syndicate] typo emery | ||
|---|---|---|---|
| Line 12: | Line 12: | ||
| can parse automatically from Tcl strings. | can parse automatically from Tcl strings. | ||
| Preserves also has a binary syntax, which the Syndicate library uses for communicating over a network. | Preserves also has a binary syntax, which the Syndicate library uses for communicating over a network. | ||
| + | |||
| + | Preserves text syntax is a superset of JSON, so the library also acts as a JSON parser. The library can render to JSON as well, but some type conversions are made. | ||
| + | |||
| + | <code tcl> | ||
| + | package require preserves | ||
| + | |||
| + | set pr [preserves parse {{foo: 0 bar: 1}}] | ||
| + | # {bar: 1 foo: 0} | ||
| + | |||
| + | preserves render $pr | ||
| + | # {bar: 1 foo: 0} | ||
| + | |||
| + | preserves render -json $pr | ||
| + | # {" | ||
| + | </ | ||
| ==== Syndicate ==== | ==== Syndicate ==== | ||
| - | The Syndicate library((https:// | + | The Syndicate library((https:// |
| - | The library supports a SAM facet((https:// | + | The library supports a SAM facet((https:// |
| + | |||
| + | === Relaying === | ||
| The library does not implement [[.: | The library does not implement [[.: | ||
| It can however communicate with external dataspaces provided by '' | It can however communicate with external dataspaces provided by '' | ||
| + | |||
| + | <code tcl> | ||
| + | package require syndicate | ||
| + | |||
| + | set route {<route [<tcp " | ||
| + | |||
| + | syndicate:: | ||
| + | |||
| + | connect $route remoteDataspace { | ||
| + | setDefaultTarget $remoteDataspace | ||
| + | | ||
| + | assert [list hello world] | ||
| + | | ||
| + | during " | ||
| + | puts " | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | vwait ${exampleActor}:: | ||
| + | </ | ||
| + | |||
| + | === Patterns === | ||
| + | |||
| + | Patterns for matching SAM assertions are written as strings. | ||
| + | The pattern '' | ||
| + | <code tcl> | ||
| + | set x foo | ||
| + | set y bar | ||
| + | set z [list foo bar baz] | ||
| + | </ | ||
| ===== Availability ===== | ===== Availability ===== | ||
| Line 26: | Line 74: | ||
| Sycl is only known to have been built with the [[Nix]] package manager, but Nix can work on practically any Linux distro. | 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. | Sycl is compatible with Tcl 8 & 9. | ||
| - | |||
| ===== Example programs ===== | ===== Example programs ===== | ||
| * [[.: | * [[.: | ||
| + | * [[.: | ||
notes/sycl.1789459786.txt.gz · Last modified: by emery
