Mostrar el registro sencillo del ítem

dc.contributor.author
Maillard, Kenji  
dc.contributor.author
Ahman, Danel  
dc.contributor.author
Atkey, Robert  
dc.contributor.author
Martínez, Guido  
dc.contributor.author
Hritcu, Catalin  
dc.contributor.author
Rivas, Exequiel  
dc.contributor.author
Tanter, Éric  
dc.date.available
2022-03-16T01:22:47Z  
dc.date.issued
2019-09  
dc.identifier.citation
Maillard, Kenji; Ahman, Danel; Atkey, Robert; Martínez, Guido; Hritcu, Catalin; et al.; Dijkstra monads for all; Association for Computing Machinery; Proceedings of the ACM on Programming Languages; 3; 104; 9-2019; 1-29  
dc.identifier.issn
2475-1421  
dc.identifier.uri
http://hdl.handle.net/11336/153411  
dc.description.abstract
This 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 computational monad and a specification monad gives rise to a Dijkstra monad, which provides great flexibility for obtaining Dijkstra monads tailored to the verification task at hand. We moreover show that a large variety of specification monads can be obtained by applying monad transformers to various base specification monads, including predicate transformers and Hoare-style pre- and postconditions. For defining correct monad transformers, we propose a language inspired by Moggi's monadic metalanguage that is parameterized by a dependent type theory. We also develop a notion of algebraic operations for Dijkstra monads, and start to investigate two ways of also accommodating effect handlers. We implement our framework in both Coq and F, and illustrate that it supports a wide variety of verification styles for effects such as exceptions, nondeterminism, state, input-output, and general recursion.  
dc.format
application/pdf  
dc.language.iso
eng  
dc.publisher
Association for Computing Machinery  
dc.rights
info:eu-repo/semantics/openAccess  
dc.rights.uri
https://creativecommons.org/licenses/by/2.5/ar/  
dc.subject
PROGRAM VERIFICATION  
dc.subject
SIDE-EFFECTS  
dc.subject
MONADS  
dc.subject
DEPENDENT TYPES  
dc.subject
FOUNDATIONS  
dc.subject.classification
Ciencias de la Computación  
dc.subject.classification
Ciencias de la Computación e Información  
dc.subject.classification
CIENCIAS NATURALES Y EXACTAS  
dc.title
Dijkstra monads for all  
dc.type
info:eu-repo/semantics/article  
dc.type
info:ar-repo/semantics/artículo  
dc.type
info:eu-repo/semantics/publishedVersion  
dc.date.updated
2020-08-05T16:43:00Z  
dc.journal.volume
3  
dc.journal.number
104  
dc.journal.pagination
1-29  
dc.journal.pais
Estados Unidos  
dc.journal.ciudad
Nueva York  
dc.description.fil
Fil: Maillard, Kenji. Institut National de Recherche en Informatique et en Automatique; Francia. Ecole Normale Supérieure; Francia  
dc.description.fil
Fil: Ahman, Danel. University of Ljubljana; Eslovaquia  
dc.description.fil
Fil: Atkey, Robert. University of Strathclyde; Reino Unido  
dc.description.fil
Fil: Martínez, Guido. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Rosario. Centro Internacional Franco Argentino de Ciencias de la Información y de Sistemas. Universidad Nacional de Rosario. Centro Internacional Franco Argentino de Ciencias de la Información y de Sistemas; Argentina  
dc.description.fil
Fil: Hritcu, Catalin. Institut National de Recherche en Informatique et en Automatique; Francia  
dc.description.fil
Fil: Rivas, Exequiel. Institut National de Recherche en Informatique et en Automatique; Francia  
dc.description.fil
Fil: Tanter, Éric. Universidad de Chile; Chile. Institut National de Recherche en Informatique et en Automatique; Francia  
dc.journal.title
Proceedings of the ACM on Programming Languages  
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/url/https://dl.acm.org/citation.cfm?id=3341708  
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/doi/http://dx.doi.org/10.1145/3341708