In a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the lazy functional programming language Haskell [PJRH + 99]. The main contribution of the design was that it allowed the language to continue to enjoy its current rich algebra of transformations. However, it does not combine easily with other extensions, most notably that of concurrency. We present an alternative semantics for a lazy functional language with imprecise exceptions which is entirely operational in nature, and combines well with other extensions, such as I/O and concurrency. The semantics is based upon a convergence relation, which describes evaluation, and an exceptional convergence relation, which describes the raising of exceptions. Conve...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
AbstractIn a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the laz...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
It has often been suggested that functional languages provide an excellent basis for programming par...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
AbstractExceptions are a feature often provided by programming languages to deal with computations w...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
Functional programming may be beautiful, but to write real applications we must grapple with awkward...
. The most powerful control constructs in modern programming languages are continuations and excepti...
The thesis deals with correctness of a compiler of a simple language featuring exceptions. We presen...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
AbstractProgram extraction is a well known technique for developing correct functional programs from...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...
AbstractIn a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the laz...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
It has often been suggested that functional languages provide an excellent basis for programming par...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
AbstractExceptions are a feature often provided by programming languages to deal with computations w...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
Functional programming may be beautiful, but to write real applications we must grapple with awkward...
. The most powerful control constructs in modern programming languages are continuations and excepti...
The thesis deals with correctness of a compiler of a simple language featuring exceptions. We presen...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
AbstractProgram extraction is a well known technique for developing correct functional programs from...
. A monad for concurrent programming that is suitable for being built into Haskell is presented. The...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions...