Wouter Swierstra showed in his PhD thesis how to implement stateful computations in the dependently typed functional programming language Agda. In particular he defined a notion of state which is parameterized by a list of types indicating what kind of data are to be stored in the respective locations. He also showed how to define monadic state transformation over this notion of state. In this thesis we extend Swierstra’s work with two new contributions. The first is to implement a stateful version of Dijkstra’s algorithm for the Dutch National Flag in Agda. We prove some properties of a function which swaps the contents of two locations, an important step towards showing full correctness of the algorithm in Agda. The second contribution is...
Abstract. This pearl introduces the Hoare state monad, a variant of the state monad that facilitates...
Formal verification of software is a largely underrepresented discipline in practice. While it is no...
In the semantics of programming languages one can view programs as statetransformers, or as predicat...
The Dijkstra and Hoare monads have been introduced recently for capturing weak-est precondition comp...
Abstract. The Dijkstra monad has been introduced recently for cap-turing weakest precondition comput...
Part 2: Regular ContributionsInternational audienceThe Dijkstra monad has been introduced recently f...
International audienceThis paper proposes a general semantic framework for verifying programs with a...
Agda2hs is a tool that allows developers to write verified programs using Agda and then translate th...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
The monads used to model effectful computations traditionally concentrate on the \"destination\" - t...
AbstractThe extension of Haskell with a built-in state monad combines mathematical elegance with ope...
A methodology is described whereby a linear ADT may be rigorously encapsulated within a state monad....
Abstract. Bidirectional transformations (bx) support principled consistency maintenance among data s...
Abstract. This pearl introduces the Hoare state monad, a variant of the state monad that facilitates...
Formal verification of software is a largely underrepresented discipline in practice. While it is no...
In the semantics of programming languages one can view programs as statetransformers, or as predicat...
The Dijkstra and Hoare monads have been introduced recently for capturing weak-est precondition comp...
Abstract. The Dijkstra monad has been introduced recently for cap-turing weakest precondition comput...
Part 2: Regular ContributionsInternational audienceThe Dijkstra monad has been introduced recently f...
International audienceThis paper proposes a general semantic framework for verifying programs with a...
Agda2hs is a tool that allows developers to write verified programs using Agda and then translate th...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
Relative monads are a generalisation of ordinary monads where the underlying functor need not be an ...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
The monads used to model effectful computations traditionally concentrate on the \"destination\" - t...
AbstractThe extension of Haskell with a built-in state monad combines mathematical elegance with ope...
A methodology is described whereby a linear ADT may be rigorously encapsulated within a state monad....
Abstract. Bidirectional transformations (bx) support principled consistency maintenance among data s...
Abstract. This pearl introduces the Hoare state monad, a variant of the state monad that facilitates...
Formal verification of software is a largely underrepresented discipline in practice. While it is no...
In the semantics of programming languages one can view programs as statetransformers, or as predicat...