LUCID, the dataflow programming language
LUCID, the dataflow programming language
Notions of computation and monads
Information and Computation
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Implicit parameters: dynamic scoping with static types
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A sound type system for secure flow analysis
Journal of Computer Security
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
A judgmental reconstruction of modal logic
Mathematical Structures in Computer Science
Journal of Functional Programming
ACM Transactions on Computational Logic (TOCL)
Comonadic Notions of Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Parameterised notions of computation
Journal of Functional Programming
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parametric effect monads and semantics of effect systems
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Monadic effect systems provide a unified way of tracking effects of computations, but there is no unified mechanism for tracking how computations rely on the environment in which they are executed. This is becoming an important problem for modern software --- we need to track where distributed computations run, which resources a program uses and how they use other capabilities of the environment. We consider three examples of context-dependence analysis: liveness analysis, tracking the use of implicit parameters (similar to tracking of resource usage in distributed computation), and calculating caching requirements for dataflow programs. Informed by these cases, we present a unified calculus for tracking context dependence in functional languages together with a categorical semantics based on indexed comonads. We believe that indexed comonads are the right foundation for constructing context-aware languages and type systems and that following an approach akin to monads can lead to a widespread use of the concept.