#+TITLE: Trivial sensitivities
#+author: screwtape
* Description
Everywhere in his VHDL book, Reichenbacker kept writing
#+BEGIN_QUOTE
VHDL is a great language for concurrency
#+END_QUOTE
and I couldn't shake the feeling that he was trying to tell me something.
The best I could figure was that when we really are stuck with processing
event streams, sensitivities at least make sense.
Short story also short, I put sensitivities in
==(getf (symbol-plist symbol) :sensitivities)==
which is also setfable (ie you can ==#'push== to it).
Finding sensitive symbols is done on a package basis like
==(find-sensitives 'my-sensitivity :my-package)==
or it will search 'my-sensitivity's symbol by default by default.
If you tangle this file, it will try to put the package into
==~/common-lisp/trivial-sensitivities/==.
Exports:
| #'find-sensitivities | sensitivity &optional pkg | list |
| #'make-sensitive | symbol &rest sensitivities | list |
| #'get-sensitivities | symbol | list |
| #'remove-sensitivities | symbol &rest sensitivities | list |