How to explain the difference between side effects and return value to a Clojure beginner?

To me this is a data flow diagram. A function is a “process” in a data flow diagram with at least one input and one output. Data flow diagram also has “data store” (state) and each store have at least one data flow in. Process can be linked to another process or to a data store. When a process is linked to another process it is a composite process/function. Side effect is how the state of a data store can be changed by processes.

1 Like