Object Capabilities and Effect Polymorphism: Theory and Applications. KU Leuven
Software in most programming languages interacts with the outside world by executing commands with side-effects. This includes communication over the internet, interacting with users, or manipulating computer memory. For building bug-free, secure and efficient software, we need to control the side-effects that different components can produce. Unfortunately, mainstream programming languages only support this to a limited extent. The object ...