Abstract. We present a typed calculus IL (“intermediate language”) which supports the embedding of ML-like (strict, eager) and Haskell-like (non-strict, lazy) languages, without favoring either. IL’s type system includes negation (continuations), but not implication (function arrow). Within IL we find that lifted sums and products can be represented as the double negation of their unlifted counterparts. We exhibit a compilation function from IL to AM—an abstract von Neumann machine—which maps values of ordinary and doubly negated types to heap structures resembling those found in practical implementations of languages in the ML and Haskell families. Finally, we show that a small variation in the design of AM allows us to treat any ML value ...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
We introduce a pure functional programming language, Haskell. We discuss the advantages of the Haske...
Researchers repeatedly observed that the module system of ML and the type class mechanism of Haskell...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
textabstractThe purpose of this book is to teach logic and mathematical reasoning in practice, and ...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
AbstractWe describe how to embed a simple typed functional logic programming language in Haskell. Th...
We present the type rules for a dependently typed core calculus together with a straight-forward imp...
International audienceLinear type systems have a long and storied history, but not a clear path forw...
It has often been suggested that functional languages provide an excellent basis for programming par...
AbstractThe extension of Haskell with a built-in state monad combines mathematical elegance with ope...
We describe how to embed a simple typed functional logic programming language in Haskell. The embedd...
This thesis contains a description of an implementation of an extended subset of the programming lan...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
We introduce a pure functional programming language, Haskell. We discuss the advantages of the Haske...
Researchers repeatedly observed that the module system of ML and the type class mechanism of Haskell...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
textabstractThe purpose of this book is to teach logic and mathematical reasoning in practice, and ...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
Our motivation is the question whether the lazy lambda calculus, a pure lambda calculus with the lef...
AbstractWe describe how to embed a simple typed functional logic programming language in Haskell. Th...
We present the type rules for a dependently typed core calculus together with a straight-forward imp...
International audienceLinear type systems have a long and storied history, but not a clear path forw...
It has often been suggested that functional languages provide an excellent basis for programming par...
AbstractThe extension of Haskell with a built-in state monad combines mathematical elegance with ope...
We describe how to embed a simple typed functional logic programming language in Haskell. The embedd...
This thesis contains a description of an implementation of an extended subset of the programming lan...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
We introduce a pure functional programming language, Haskell. We discuss the advantages of the Haske...