Abstract. Typed programming languages offer safety guarantees that help programmers write correct code, but typical language implemen-tations offer no proof that source-level guarantees extend to executable code. Moreover, typical implementations link programs with unsafe run-time system (RTS) code. I present a compiler for the functional language Haskell that preserves some of the properties of Haskell’s type system. The soundness proof for the combination of the compiler and a verified RTS requires a proof that the compiler emits code that cooperates cor-rectly with the RTS. In particular, the latter proof must address the boundary between the user program and the garbage collector. In this paper, I introduce a minimalist intermediate lan...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
Typed programming languages offer safety guarantees that help programmers write correct code, but ty...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
Haskell is an influential functional programming language with an advanced type system that is capab...
We introduce a pure functional programming language, Haskell. We discuss the advantages of the Haske...
Meta-programs are programs that generate other programs, but in weakly type-safe systems, type-check...
Protecting data confidentiality and integrity has become increasingly important in modern software. ...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
© 2017 Copyright held by the owner/author(s). Meta-programs are programs that generate other program...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
It is quite natural to define a software language as an extension of a base language. A compiler bui...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
Typed programming languages offer safety guarantees that help programmers write correct code, but ty...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
Haskell is an influential functional programming language with an advanced type system that is capab...
We introduce a pure functional programming language, Haskell. We discuss the advantages of the Haske...
Meta-programs are programs that generate other programs, but in weakly type-safe systems, type-check...
Protecting data confidentiality and integrity has become increasingly important in modern software. ...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
© 2017 Copyright held by the owner/author(s). Meta-programs are programs that generate other program...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
It is quite natural to define a software language as an extension of a base language. A compiler bui...
Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts ...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...