This commit is contained in:
Philip C Monk 2015-08-19 20:36:40 -04:00
parent 782fecef58
commit 23f819e883
4 changed files with 133 additions and 93 deletions

View File

@ -2,7 +2,7 @@
:::: ::::
:: ::
/? 314 /? 314
/- *talk, *work /- *work
/+ talk /+ talk
!: !:
:::: ::::
@ -10,72 +10,100 @@
|% |%
++ move (pair bone card) :: all actions ++ move (pair bone card) :: all actions
++ card :: general card ++ card :: general card
$% [%diff lime] :: $% [%diff %work-report client] ::
[%peer wire dock path] :: [%peer wire dock path] ::
[%poke wire dock pear] :: [%poke wire dock pear] ::
== :: == ::
++ pear :: poke fruit ++ pear :: poke fruit
$% [%talk-command command] :: $% [%talk-command command:talk] ::
== :: == ::
-- --
!: !:
:::: ::::
:: ::
|_ [hid=bowl client] |_ [bowl client connected=_|]
++ at ++ at
|= [task audience=(set station)] |= [task audience=(set station:talk)]
=* tax +<-
=| moves=(list move) =| moves=(list move)
|% |%
++ abet ++ abet
^- [(list move) _+>.$] ^- [(list move) _+>.$]
[(flop moves) +>.$(tasks (~(put by tasks) tax))] [(flop moves) +>.$(tasks (~(put by tasks) id tax audience))]
++ send ++ send
|= action=duty |= action=duty:work-stuff:talk
^+ +> ^+ +>
%_ +>.$ %_ +>.$
eny (sham eny action) eny (sham eny action)
moves moves
:_ ~
^- move
:* ost %poke :* ost %poke
/sending/(scot %uw id)/(scot %ud version) /sending/(scot %uw id)/(scot %ud version)
[our %talk] [our %talk]
%talk-command %talk-command
^- command ^- command:talk
:- %publish :- %publish
|- ^- (list thought) |- ^- (list thought)
:_ ~ :_ ~
:+ (shaf %task eny) :+ (shaf %task eny)
[[[%& our %tasks] [*envelope %pending]] ~ ~] [[[%& our %porch] [*envelope %pending]] ~ ~]
[now *bouquet [%tax action]] [now *bouquet [%tax action]]
== ==
== ==
++ update |*(* (send %update id +(version) +<)) ++ create (send `duty:work-stuff:talk`[%create `task`tax])
++ announce (update %announce ~) ++ send-update |*(* (send %update id +(version) +<))
++ release (cury update %announce) ++ announce (send-update %announce ~)
++ accept (update %accept ~) ++ release (cury send-update %announce)
++ delete (update %delete ~) ++ accept (send-update %accept ~)
++ set-due-date (cury update %set-due-date) ++ delete (send-update %delete ~)
++ set-tags (cury update %set-tags) ++ set-date-due (cury send-update %set-date-due)
++ set-title (cury update %set-title) ++ set-tags (cury send-update %set-tags)
++ set-description (cury update %set-description) ++ set-title (cury send-update %set-title)
++ set-complete (update %set-complete ~) ++ set-description (cury send-update %set-description)
++ add-comment (cury update %add-comment) ++ set-done (cury send-update %set-done)
++ add-comment (cury send-update %add-comment)
++ set-audience ~|(%not-implemented !!)
++ claim ~|(%not-implemented !!)
++ process-update
|= up=update
^+ +>
?- -.up
%add ?>(?=(%comment +<.up) (add-comment +>.up))
%own
?- +<.up
%announce announce
%claim claim
==
%set
?- +<.up
%date-due (set-date-due +>.up)
%title (set-title +>.up)
%description (set-description +>.up)
%tags (set-tags +>.up)
%done (set-done +>.up)
%audience ~|(%not-implemented !!) ::(set-audience +>.up)
==
==
-- --
:: ::
++ initialize ++ initialize
^- [(list move) _.] ^- [(list move) _.]
:_ . :_ ~ :_ . :_ ~
[ost %peer /peering [our %talk] /f/tasks/0] [ost %peer /peering [our %talk] /f/porch/0]
:: ::
++ process-duty ++ process-duty
|= [when=@da her=ship from=(set station) action=duty] |= [when=@da her=ship from=(set station:talk) action=duty:work-stuff:talk]
^- [(list move) _+>.$] ^- [(list move) _+>.$]
=< mirror-to-web =< mirror-to-web
?- -.action ?- -.action
%proclaim %create
:- ~ :- ~
=+ existing-task=(~(get by tasks) id.p.action) =+ existing-task=(~(get by tasks) id.p.action)
~? !=(p.action u.existing-task) ~? ?& ?=(^ existing-task)
$: %new-task-with-old-id !=(p.action u.existing-task)
==
:* %new-task-with-old-id
her=her her=her
from=from from=from
new-task=p.action new-task=p.action
@ -91,14 +119,14 @@
%update %update
=+ tax=(~(get by tasks) id.action) =+ tax=(~(get by tasks) id.action)
?~ tax ?~ tax
~& $: %update-for-nonexistent-task ~& :* %update-for-nonexistent-task
her=her her=her
from=from from=from
action=action action=action
== ==
[~ +>.$] [~ +>.$]
?. =(version.action +(version.u.tax)) ?. =(version.action +(version.task.u.tax))
~& $: %update-bad-version ~& :* %update-bad-version
her her
from=from from=from
action=action action=action
@ -107,10 +135,10 @@
[~ +>.$] [~ +>.$]
=. tasks =. tasks
%^ ~(put by tasks) id.action %^ ~(put by tasks) id.action
?: $& ?=(?(%announce %release %accept) -.meat.action) ?: ?& ?=(?(%announce %release %accept) -.meat.action)
!=(her owner.task.u.tax)) !=(her owner.task.u.tax)
== ==
~& $: %not-owner ~& :* %not-owner
her=her her=her
from=from from=from
action=action action=action
@ -122,13 +150,15 @@
%release task.u.tax(owner p.meat.action, status %released) %release task.u.tax(owner p.meat.action, status %released)
%accept task.u.tax(status %accepted) %accept task.u.tax(status %accepted)
%delete !! %delete !!
%set-due-date task.u.tax(date-due p.meat.action) %set-date-due task.u.tax(date-due p.meat.action)
%set-tags task.u.tax(tags p.meat.action) %set-tags task.u.tax(tags p.meat.action)
%set-title task.u.tax(title p.meat.action) %set-title task.u.tax(title p.meat.action)
%set-description task.u.tax(description p.meat.action) %set-description task.u.tax(description p.meat.action)
%set-complete task.u.tax(complete `when) %set-done task.u.tax(done `when)
%add-comment %add-comment
task.u.tax(discussion [[when her p.meat.action] discussion) %= task.u.tax
discussion [[when her p.meat.action] discussion.task.u.tax]
==
== ==
(~(uni in audience.u.tax) from) (~(uni in audience.u.tax) from)
+>.$ +>.$
@ -137,7 +167,7 @@
++ mirror-to-web ++ mirror-to-web
^- [(list move) _.] ^- [(list move) _.]
:_ . :_ .
%+ turn (~(tap by sup.hid)) %+ turn (~(tap by sup))
|= [ust=bone *] |= [ust=bone *]
[ust %diff %work-report tasks sort] [ust %diff %work-report tasks sort]
:: ::
@ -147,6 +177,20 @@
?> ?=([~ ~] +<) ?> ?=([~ ~] +<)
[~ +>.$] [~ +>.$]
:: ::
++ poke-work-command
|= cod=command
=^ mos +>.$
?: connected
[~ +>.$]
initialize
=^ mof +>.$
?- -.cod
%new abet:create:(at +.cod)
%old abet:(process-update:(at (~(got by tasks) id.cod)) dif.cod)
%sort !!
==
[(welp mos mof) +>.$]
::
:: XX maybe need to check that we haven't received this message before :: XX maybe need to check that we haven't received this message before
:: by keeping a counter of last message received :: by keeping a counter of last message received
++ diff-peering ++ diff-peering
@ -158,14 +202,14 @@
=* her p.i.q.rep =* her p.i.q.rep
=* when p.r.q.i.q.rep =* when p.r.q.i.q.rep
=* said r.r.q.i.q.rep =* said r.r.q.i.q.rep
=+ ^- from=(set station) =+ ^- from=(set station:talk)
%- sa %- sa ^- (list station:talk)
%+ murn (~(tap by q.q.i.q.rep)) %+ murn (~(tap by q.q.i.q.rep))
|= par=partner |= [par=partner *]
`(unit station)`?.(?=(%& -.par) ~ `par) `(unit station:talk)`?.(?=(%& -.par) ~ `p.par)
?. ?=(%tax -.said) ?. ?=(%tax -.said)
$(p.rep +(p.rep), q.rep t.q.rep) $(p.rep +(p.rep), q.rep t.q.rep)
=^ mos +>.^$ (process-duty her when from said) =^ mos +>.^$ (process-duty when her from +.said)
=^ mof +>.^$ $(p.rep +(p.rep), q.rep t.q.rep) =^ mof +>.^$ $(p.rep +(p.rep), q.rep t.q.rep)
[(weld mos mof) +>.^$] [(weld mos mof) +>.^$]
-- --

View File

@ -1,8 +0,0 @@
0v0_~1999.1.1 2~1999.1.2 ~1999.5.20
Tagged!
Yoooo
~fyr.gave
Testin
~doznec ~2015.1.3
how long has
this been around?

View File

@ -64,7 +64,7 @@
[%lin p=? q=@t] :: no=@, text line [%lin p=? q=@t] :: no=@, text line
[%mor p=(list speech)] :: multiplex [%mor p=(list speech)] :: multiplex
[%app p=@tas q=@t] :: app message [%app p=@tas q=@t] :: app message
[%tax p=duty] :: [%tax p=duty:work-stuff] ::
== :: == ::
++ serial ,@uvH :: unique identity ++ serial ,@uvH :: unique identity
++ partner (each station passport) :: interlocutor ++ partner (each station passport) :: interlocutor
@ -78,45 +78,48 @@
[%text (list ,@t)] :: text lines [%text (list ,@t)] :: text lines
[%tank (list tank)] :: tank list [%tank (list tank)] :: tank list
== :: == ::
:: work stuff :: ++ work-stuff ::
++ duty :: |% ::
$% [%proclaim p=task] :: create new task ++ duty ::
$: %update :: operate on task $% [%create p=task] :: create new task
id=@uvH :: which task $: %update :: operate on task
version=@u :: version id=@uvH :: which task
$= meat :: version=@u :: version
$% [%announce ~] :: make available $= meat ::
[%release p=ship] :: pass to new owner $% [%announce ~] :: make available
[%accept ~] :: accept pass [%release p=ship] :: pass to new owner
[%delete ~] :: delete task [%accept ~] :: accept pass
[%set-due-date p=@da] :: set due date [%delete ~] :: delete task
[%set-tags p=(set ,@t)] :: set tags [%set-date-due p=@da] :: set due date
[%set-title p=@t] :: set title [%set-tags p=(set ,@t)] :: set tags
[%set-description p=@t] :: set description [%set-title p=@t] :: set title
[%set-complete ~] :: set complete [%set-description p=@t] :: set description
[%add-comment p=@t] :: add comment [%set-done p=?] :: set done
== :: [%add-comment p=@t] :: add comment
== :: == ::
== :: == ::
++ task :: == ::
$: id=@uvH :: ++ task ::
date-created=@da :: $: id=@uvH ::
version=@u :: date-created=@da ::
date-modified=@da :: version=@u ::
owner=@p :: date-modified=@da ::
status=status :: owner=@p ::
tags=(set @t) :: status=status ::
date-due=@da :: tags=(set ,@t) ::
title=@t :: date-due=(unit ,@da) ::
description=@t :: done=(unit ,@da) ::
discussion=(list comment) :: title=@t ::
== :: description=@t ::
++ comment :: discussion=(list comment) ::
$: date=@da :: == ::
ship=@p :: ++ comment ::
body=@t :: $: date=@da ::
== :: ship=@p ::
++ status ?(%announced %released %accepted) :: body=@t ::
== ::
++ status ?(%announced %released %accepted) ::
--
:: markdown :: markdown
:: image :: image
:: mime object :: mime object

View File

@ -16,7 +16,8 @@
owner=@p owner=@p
status=status status=status
tags=(set ,@t) tags=(set ,@t)
due-date=(unit ,@da) date-due=(unit ,@da)
done=(unit ,@da)
title=@t title=@t
description=@t description=@t
discussion=(list comment) discussion=(list comment)
@ -28,21 +29,21 @@
== ==
++ status ?(%announced %released %accepted) ++ status ?(%announced %released %accepted)
++ command ++ command
$% [%new task] $% [%new task audience=(set station:talk)]
[%old id=@uvH dif=update] [%old id=@uvH dif=update]
[%sort p=(list ,@uvH)] [%sort p=(list ,@uvH)]
== ==
++ update ++ update
$% $: %set $% $: %set
$% [%due-date p=@da] $% [%date-due p=@da]
[%title p=@t] [%title p=@t]
[%description p=@t] [%description p=@t]
[%tags p=(set ,@t)] [%tags p=(set ,@t)]
[%done p=(unit ,@da)] [%done p=?]
[%audience p=(set station:talk)] [%audience p=(set station:talk)]
== == == ==
$: %add $: %add
$% [%comment [@da @t]] $% [%comment @t]
== == == ==
$: %own $: %own
$% [%announce ~] $% [%announce ~]