Searched for: collection%253Air
(1 - 7 of 7)
document
Poulsen, C.B. (author), van der Rest, C.R. (author)
Algebraic effects and handlers is an increasingly popular approach to programming with effects. An attraction of the approach is its modularity: effectful programs are written against an interface of declared operations, which allows the implementation of these operations to be defined and refined without changing or recompiling programs...
journal article 2023
document
van der Rest, C.R. (author), Swierstra, Wouter (author)
How can we enumerate the inhabitants of an algebraic datatype? This paper explores a datatype generic solution that works for all regular types and indexed families. The enumerators presented here are provably both complete and unique - they will eventually produce every value exactly once - and fair - they avoid bias when composing...
journal article 2022
document
Rouvoet, A.J. (author), Krebbers, R.J. (author), Visser, Eelco (author)
To avoid compilation errors it is desirable to verify that a compiler is type correct-i.e., given well-typed source code, it always outputs well-typed target code. This can be done intrinsically by implementing it as a function in a dependently typed programming language, such as Agda. This function manipulates data types of well-typed source...
journal article 2021
document
Ĺ inkarovs, Artjoms (author), Cockx, J.G.H. (author)
Most existing programming languages provide little support to formally state and prove properties about programs. Adding such capabilities is far from trivial, as it requires significant re-engineering of the existing compilers and tools. This paper proposes a novel technique to write correct-by-construction programs in languages without...
conference paper 2021
document
Rouvoet, A.J. (author), Poulsen, C.B. (author), Krebbers, R.J. (author), Visser, Eelco (author)
An intrinsically-typed definitional interpreter is a concise specification of dynamic semantics, that is executable and type safe by construction. Unfortunately, scaling intrinsically-typed definitional interpreters to more complicated object languages often results in definitions that are cluttered with manual proof work. For linearly-typed...
working paper 2020
document
Cockx, J.G.H. (author)
Dependently typed languages such as Coq and Agda can statically guarantee the correctness of our proofs and programs. To provide this guarantee, they restrict users to certain schemes a- such as strictly positive datatypes, complete case analysis, and well-founded induction a- that are known to be safe. However, these restrictions can be too...
conference paper 2020
document
Poulsen, C.B. (author), Rouvoet, A.J. (author), Tolmach, Andrew (author), Krebbers, R.J. (author), Visser, Eelco (author)
A definitional interpreter defines the semantics of an object language in terms of the (well-known) semantics of a host language, enabling understanding and validation of the semantics through execution. Combining a definitional interpreter with a separate type system requires a separate type safety proof. An alternative approach, at least for...
journal article 2018
Searched for: collection%253Air
(1 - 7 of 7)