In the Good Place series, Shawn was the daemon from the Bad Place.
Shawn has started as Janet clone of the Reactive Streams library
for Clojure[Script]. But after
ev module was added into the language
core, we redesigned this library to align better with the functionality of
The basic idea is to have Shawn which contains state of the application, or its part, named Envelope. All the changes to the state can be only done with Act which is similar to the event in the potok. Also the three kinds are very similar:
But there is one more thing, that Watch Acts can do: generate cocoons, in which you can have longer running processes and servers.