Concurrency
So QED classes have been designed to be be invoked as types (with the new
operator, and ->
to handle return events if need be) or as calls (without new
). In the previous examples though, we’ve seen classes that are either designed as pure object (with no return
call to generate events) or calls (with one return
call done and pointless calling it with new
to keep the object). And implementing these calls as plain lowercase-first-letter functions would have been more efficient.
Yet, QED classes were designed this way, because there are use cases where classes fit perfectly being invoked both ways!
(Venn diagram)
We’ll take the time to discover these mysterious classes through the rest of this tutorial.