Documents

Links

DOI

Dependently-typed languages are great for stating and proving properties of pure functions. We can reason about them modularly (state and prove their properties independently of other functions) and non-intrusively (without modifying their implementation). But what if we are interested in properties about the results of effectful computations? Ideally, we could keep on stating and proving them just as nicely.

This pearl shows we can. We formalise a way to lift a property about values to a property about effectful computations producing such values, and we demonstrate that we need not make any sacrifices when reasoning about them. In addition to this modular and non-intrusive reasoning, our approach offers independence of the underlying monad and allows for readable proofs whose structure follows that of the code.
Original languageEnglish
Title of host publicationProceedings of the 4th ACM SIGPLAN International Workshop on Type-Driven Development
Place of PublicationNew York, NY, USA
PublisherACM
Pages1-13
Number of pages13
ISBN (Print)978-1-4503-6815-5
DOIs
Publication statusPublished - 2019
EventWorkshop on Type-Driven Development - Berlin, Germany
Duration: 18 Aug 201923 Aug 2019
https://icfp19.sigplan.org/home/tyde-2019

Publication series

NameTyDe 2019
PublisherACM

Workshop

WorkshopWorkshop on Type-Driven Development
Abbreviated titleTyDe
CountryGermany
CityBerlin
Period18/08/1923/08/19
Internet address

    Research areas

  • Agda, applicative, dependently-typed programming, effectful, equational reasoning, extrinsic proofs, functor, monad, strong specification

ID: 46792786