shrub/sur/talk.hoon

113 lines
7.5 KiB
Plaintext
Raw Normal View History

::
2016-02-11 03:41:28 +03:00
:::: /hoon/talk/sur
2015-01-26 20:44:09 +03:00
!:
2014-12-05 23:14:00 +03:00
|%
2015-12-21 00:16:39 +03:00
++ audience (map partner (pair envelope delivery)) :: destination+state
2014-12-17 21:05:38 +03:00
++ atlas (map ship status) :: presence map
2015-01-26 20:44:09 +03:00
++ bouquet (set flavor) :: complete aroma
2014-12-05 23:14:00 +03:00
++ command :: effect on party
$% {$design (pair knot (unit config))} :: configure+destroy
2015-12-09 04:54:26 +03:00
{$publish (list thought)} :: originate
{$review (list thought)} :: deliver
2017-03-24 01:10:28 +03:00
== ::
++ update :: change shared state
2017-03-27 12:26:23 +03:00
$% {$status (pair (set knot) status)} :: our status update
2017-03-27 13:50:39 +03:00
{$human (pair ship human)} :: new identity
2017-03-24 01:10:28 +03:00
{$bind (pair char (set partner))} :: bind a glyph
2014-12-05 23:14:00 +03:00
== ::
2015-04-06 22:57:23 +03:00
++ cabal :: metaconfiguration
2015-12-20 23:50:45 +03:00
$: loc/config :: local config
ham/(map station config) :: neighborhood configs
2015-12-09 04:54:26 +03:00
== ::
2014-12-05 23:14:00 +03:00
++ config :: party configuration
2015-12-20 23:50:45 +03:00
$: sources/(set partner) :: pulls from
caption/cord :: about
cordon/control :: restricted to
2014-12-05 23:14:00 +03:00
== ::
2015-01-26 20:44:09 +03:00
++ control (pair posture (set ship)) :: access control
2015-01-01 23:43:50 +03:00
++ delivery :: delivery state
2015-12-14 10:58:14 +03:00
$? $pending :: undelivered
2015-12-09 04:54:26 +03:00
$received :: delivered
$rejected :: undeliverable
$released :: sent one-way
$accepted :: fully processed
2015-01-01 23:43:50 +03:00
== ::
2015-12-09 04:54:26 +03:00
++ envelope (pair ? (unit partner)) :: visible sender
2015-01-26 20:44:09 +03:00
++ flavor path :: content flavor
2014-12-05 23:14:00 +03:00
++ human :: human identifier
$: true/(unit (trel @t (unit @t) @t)) ::TODO used? true name
2015-12-20 23:50:45 +03:00
hand/(unit @t) :: handle
2014-12-05 23:14:00 +03:00
== ::
2015-01-26 20:44:09 +03:00
++ passport :: foreign flow
2015-12-20 23:50:45 +03:00
$% {$twitter p/@t} :: twitter
2014-12-05 23:14:00 +03:00
== ::
2015-01-26 20:44:09 +03:00
++ posture :: security posture
2015-12-14 10:58:14 +03:00
$? $black :: channel
2017-03-24 01:07:35 +03:00
$white :: village
2015-12-09 04:54:26 +03:00
$green :: journal
$brown :: mailbox
2015-01-26 20:44:09 +03:00
== ::
2015-12-09 04:54:26 +03:00
++ presence ?($gone $hear $talk) :: status type
2015-01-26 20:44:09 +03:00
++ register (pair atlas (map partner atlas)) :: ping me, ping srcs
++ shelf (map knot (pair posture cord)) :: ship shape
2015-04-01 23:56:43 +03:00
++ report :: talk update
$% {$cabal cabal} :: config neighborhood
2015-12-09 04:54:26 +03:00
:: {$folder (list report)} :: multiple
{$grams (pair @ud (list telegram))} :: beginning thoughts
{$group register} :: presence
== ::
++ lowdown :: changed shared state
::TODO change these so that they're always just the diff.
:: this will aid with ++sh's printing.
$% {$glyph (jug char (set partner))} :: new bindings
{$names (map ship (unit human))} :: new identities
::TODO cabal, or merge its contents into tale's config
:: basically we just want to merge the ship sets, right?
{$tales (pair knot (unit config))} :: changed config
{$remco (map station config)} :: remote configs
::TODO merge remote and local presences.
{$precs (pair knot atlas)} :: changed presence
{$rempe (map partner atlas)} :: remote presences
{$grams (pair knot (pair @ud (list telegram)))} :: new grams
2014-12-05 23:14:00 +03:00
== ::
2015-01-01 23:43:50 +03:00
++ speech :: narrative action
$% {$lan p/knot q/@t} :: local announce
2015-12-20 23:50:45 +03:00
{$exp p/@t} :: hoon line
2015-12-09 04:54:26 +03:00
{$non $~} :: no content (yo)
::TODO so, this is extensibility tacked on, rather than built-in?
:: really, talk has been two-split but the guardian is still two
:: things at once. you want base-guardian and talk-guardian.
:: ...that's probably what %gall is, but then why do we have $ext?
2015-12-20 23:50:45 +03:00
{$ext p/@tas q/*} :: extended action
{$fat p/torso q/speech} :: attachment
:: {$inv p/station} :: invite to station
{$url p/purf} :: parsed url
{$ire p/serial q/speech} :: in-reply-to
{$lin p/? q/@t} :: no/@ text line
{$mor p/(list speech)} :: multiplex
::TODO? what are p and q supposed to be?
2015-12-20 23:50:45 +03:00
{$app p/@tas q/@t} :: app message
2016-03-26 03:47:22 +03:00
$: $api :: api message
service/@tas :: service name
id/@t :: id on the service
2016-04-01 03:39:48 +03:00
id-url/purf :: link to id
2016-03-26 03:47:22 +03:00
summary/@t :: summary of event
body/@t :: body of event
2016-04-01 03:39:48 +03:00
url/purf :: link to event
2016-03-26 03:47:22 +03:00
meta/json :: other data for web
== ::
2015-01-01 23:43:50 +03:00
== ::
2015-12-09 04:54:26 +03:00
++ serial @uvH :: unique identity
2015-01-26 20:44:09 +03:00
++ partner (each station passport) :: interlocutor
2014-12-17 03:36:45 +03:00
++ status (pair presence human) :: participant
2015-12-09 04:54:26 +03:00
++ statement (trel @da bouquet speech) :: when this
++ station (pair ship knot) :: domestic flow
2014-12-05 23:14:00 +03:00
++ telegram (pair ship thought) :: who which whom what
++ thought (trel serial audience statement) :: which whom what
2015-01-06 23:31:36 +03:00
++ torso :: attachment
2015-12-14 10:58:14 +03:00
$% {$name (pair @t torso)} :: named attachment
2015-12-09 04:54:26 +03:00
{$text (list @t)} :: text lines
{$tank (list tank)} :: tank list
2015-01-06 23:31:36 +03:00
== ::
2014-12-05 23:14:00 +03:00
--