In programming, some data acts as a resource (eg, file handles, channels) subject to usage constraints. This poses a challenge to software correctness as most languages are agnostic …
M Gaboardi, S Katsumata, D Orchard, F Breuvart… - ACM SIGPLAN …, 2016 - dl.acm.org
Effects and coeffects are two general, complementary aspects of program behaviour. They roughly correspond to computations which change the execution context (effects) versus …
Effect and session type systems are two expressive behavioural type systems. The former is usually developed in the context of the lambda-calculus and its variants, the latter for the pi …
D McDermott, T Uustalu - International Conference on Mathematics of …, 2022 - Springer
When modelling side-effects using a monad, we need to equip the monad with effectful operations. This can be done by noting that each algebra of the monad carries …
S Katsumata, D McDermott, T Uustalu… - Proceedings of the ACM on …, 2022 - dl.acm.org
A large class of monads used to model computational effects have natural presentations by operations and equations, for example, the list monad can be presented by a constant and a …
M Gaboardi, S Katsumata, D Orchard… - … 2021, Held as Part of the …, 2021 - library.oapen.org
Deductive verification techniques based on program logics (ie, the family of Floyd-Hoare logics) are a powerful approach for program reasoning. Recently, there has been a trend of …
In static analysis, two frameworks have been studied extensively: monotone data-flow analysis and type-and-effect systems. Whilst both are seen as general analysis frameworks …
Functional programs typically interact with stateful libraries that hide state behind typed abstractions. One particularly important class of applications are data structure …
CS Gordon - ACM Transactions on Programming Languages and …, 2021 - dl.acm.org
Effect systems are lightweight extensions to type systems that can verify a wide range of important properties with modest developer burden. But our general understanding of effect …