A certified extension of the Krivine machine for a call-by-name higher-order imperative language
In this paper we present a compiler that translates programs from an imperative higher-order language into a sequence of instructions for an abstract machine. We consider an extension of the Krivine machine for the call-by-name lambda calculus, which includes strict operators and imperative features...
Guardado en:
| Autores principales: | , , |
|---|---|
| Formato: | article |
| Lenguaje: | Inglés |
| Publicado: |
2022
|
| Materias: | |
| Acceso en línea: | http://hdl.handle.net/11086/30119 http://dx.doi.org/10.4230/LIPIcs.TYPES.2013.230 |
| Aporte de: |
| Sumario: | In this paper we present a compiler that translates programs from an imperative higher-order language into a sequence of instructions for an abstract machine. We consider an extension of the Krivine machine for the call-by-name lambda calculus, which includes strict operators and imperative features. We show that the compiler is correct with respect to the big-step semantics of our language, both for convergent and divergent programs. |
|---|