Tech
Write down every guarantee before you write any code
Here is every promise a to-do list makes.
VARIABLE tasks
Init == tasks = [i \in Ids |-> "absent"]
Add(i) == tasks[i] = "absent" /\ tasks' = [tasks EXCEPT ![i] = "open"]
Complete(i) == tasks[i] = "open" /\ tasks' = [tasks EXCEPT ![i] = "done"]
Reopen(i) == tasks[i] = "done" /\ tasks' = [tasks EXCEPT ![i] = "open"]
Delete(i) == tasks[i] # "absent" /\ tasks' = [tasks EXCEPT ![i] = "absent"]
ClearCompleted ==
/\ \E i \in Ids : tasks[i] = "done"
/\ tasks' = [i \in Ids |...
Read the full discussion on Dev.to
This article was aggregated from Dev.to. Click to join the conversation.
View on Dev.to