Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Calculating Compilers Effectively (Functional Pearl)
Haskell 2024: Proceedings of the 17th ACM SIGPLAN International Haskell SymposiumPages 109–119https://doi.org/10.1145/3677999.3678283Much work in the area of compiler calculation has focused on pure languages. While this simplifies the reasoning, it reduces the applicability. In this article, we show how an existing compiler calculation methodology can be naturally extended to ...
- research-articleJuly 2024
Pragmatics of formally verified yet efficient static analysis, in particular, for formally verified compilers
International Journal on Software Tools for Technology Transfer (STTT) (STTT), Volume 26, Issue 4Pages 463–477https://doi.org/10.1007/s10009-024-00760-3AbstractFormally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code and that ...
- research-articleJuly 2024
No Go Theorems: Directed Containers That Do Not Distribute Over Distribution Monads
LICS '24: Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer ScienceArticle No.: 69, Pages 1–13https://doi.org/10.1145/3661814.3662137Monads and comonads are important constructions from category theory which find widespread application in computer science and other related disciplines. Distributive laws allow these constructions to interact compositionally. Such laws are not ...
- ArticleApril 2024
Scoped Effects as Parameterized Algebraic Theories
AbstractNotions of computation can be modelled by monads. Algebraic effects offer a characterization of monads in terms of algebraic operations and equational axioms, where operations are basic programming features, such as reading or updating the state, ...
- ArticleSeptember 2023
Elements of Relational Power Set Theories for Semiring-Valued Fuzzy Structures
Fuzzy Logic and Technology, and Aggregation OperatorsPages 61–73https://doi.org/10.1007/978-3-031-39965-7_6AbstractSemiring-valued fuzzy sets represent fuzzy objects with new value set structures, which make it possible to unify part of new and frequently used fuzzy structures. The theory of semiring-valued fuzzy sets uses some basic tools of category theory ...
-
- research-articleSeptember 2022
A Monadic Implementation of Functional Logic Programs
PPDP '22: Proceedings of the 24th International Symposium on Principles and Practice of Declarative ProgrammingArticle No.: 1, Pages 1–15https://doi.org/10.1145/3551357.3551370Functional logic languages are a high-level approach to programming by combining the most important declarative features. They abstract from small-step operational details so that programmers can concentrate on the logical aspects of an application. ...
Formal reasoning about layered monadic interpreters
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue ICFPArticle No.: 99, Pages 254–282https://doi.org/10.1145/3547630Monadic computations built by interpreting, or handling, operations of a free monad are a compelling formalism for modeling language semantics and defining the behaviors of effectful systems. The resulting layered semantics offer the promise of modular ...
- research-articleAugust 2022
Beyond Nonexpansive Operations in Quantitative Algebraic Reasoning
LICS '22: Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer ScienceArticle No.: 52, Pages 1–13https://doi.org/10.1145/3531130.3533366The framework of quantitative equational logic has been successfully applied to reason about algebras whose carriers are metric spaces and operations are nonexpansive. We extend this framework in two orthogonal directions: algebras endowed with ...
- research-articleAugust 2022
Probability monads with submonads of deterministic states
LICS '22: Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer ScienceArticle No.: 38, Pages 1–13https://doi.org/10.1145/3531130.3533355Probability theory can be studied synthetically as the computational effect embodied by a commutative monad. In the recently proposed Markov categories, one works with an abstraction of the Kleisli category and then defines deterministic morphisms ...
- research-articleJanuary 2021
Dijkstra monads forever: termination-sensitive specifications for interaction trees
Proceedings of the ACM on Programming Languages (PACMPL), Volume 5, Issue POPLArticle No.: 26, Pages 1–28https://doi.org/10.1145/3434307This paper extends the Dijkstra monad framework, designed for writing specifications over effectful programs using monadic effects, to handle termination sensitive specifications over interactive programs. We achieve this by introducing base ...
Monadification of attribute grammars
SLE 2020: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language EngineeringPages 175–195https://doi.org/10.1145/3426425.3426941We describe a monadification process for attribute grammars for more concisely written attribute equations, closer to the style of inference rules used in traditional typing and evaluation specifications. Inference rules specifying, for example, a ...
- research-articleSeptember 2020
Degrading Lists
PPDP '20: Proceedings of the 22nd International Symposium on Principles and Practice of Declarative ProgrammingArticle No.: 6, Pages 1–14https://doi.org/10.1145/3414080.3414084We discuss the relationship between monads and their known generalisation, graded monads, which are especially useful for modelling computational effects equipped with a form of sequential composition. Specifically, we ask if a graded monad can be ...
- research-articleJuly 2020
Interaction Laws of Monads and Comonads
LICS '20: Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer SciencePages 604–618https://doi.org/10.1145/3373718.3394808We introduce and study functor-functor and monad-comonad interaction laws as mathematical objects to describe interaction of effectful computations with behaviors of effect-performing machines. Monad-comonad interaction laws are monoid objects of the ...
Interaction trees: representing recursive and impure programs in Coq
- Li-yao Xia,
- Yannick Zakowski,
- Paul He,
- Chung-Kil Hur,
- Gregory Malecha,
- Benjamin C. Pierce,
- Steve Zdancewic
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue POPLArticle No.: 51, Pages 1–32https://doi.org/10.1145/3371119Interaction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their ...
The next 700 relational program logics
Proceedings of the ACM on Programming Languages (PACMPL), Volume 4, Issue POPLArticle No.: 4, Pages 1–33https://doi.org/10.1145/3371072We propose the first framework for defining relational program logics for arbitrary monadic effects. The framework is embedded within a relational dependent type theory and is highly expressive. At the semantic level, we provide an algebraic presentation ...
- research-articleAugust 2019
Algebras of the Extended Probabilistic Powerdomain Monad
Electronic Notes in Theoretical Computer Science (ENTCS) (ENTCS), Volume 345, Issue CPages 37–61https://doi.org/10.1016/j.entcs.2019.07.015AbstractWe investigate the Eilenberg-Moore algebras of the extended probabilistic powerdomain monad Vw over the category TOP0 of T0 topological spaces and continuous maps. We prove that every Vw-algebra in our setting is a weakly locally convex sober ...
- research-articleAugust 2019
Verifying effectful Haskell programs in Coq
Haskell 2019: Proceedings of the 12th ACM SIGPLAN International Symposium on HaskellPages 125–138https://doi.org/10.1145/3331545.3342592We show how various Haskell language features that are related to ambient effects can be modeled in Coq. For this purpose we build on previous work that demonstrates how to reason about existing Haskell programs by translating them into monadic Coq ...
- research-articleAugust 2019
Modular effects in Haskell through effect polymorphism and explicit dictionary applications: a new approach and the μVeriFast verifier as a case study
Haskell 2019: Proceedings of the 12th ACM SIGPLAN International Symposium on HaskellPages 1–14https://doi.org/10.1145/3331545.3342589In applications with a complex structure of side effects, effects should be dealt with modularly: components should be programmed against abstract effect interfaces that other components can instantiate as required, and reusable effect patterns should ...
Dijkstra monads for all
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue ICFPArticle No.: 104, Pages 1–29https://doi.org/10.1145/3341708This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad. We prove that any monad morphism between a ...