AbstractIn 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, the denotational semantics used to formalise the design 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 r...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
In a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the lazy functi...
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...
The thesis deals with correctness of a compiler of a simple language featuring exceptions. We presen...
Functional programming may be beautiful, but to write real applications we must grapple with awkward...
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...
. The most powerful control constructs in modern programming languages are continuations and excepti...
AbstractProgram extraction is a well known technique for developing correct functional programs from...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
In a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the lazy functi...
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...
The thesis deals with correctness of a compiler of a simple language featuring exceptions. We presen...
Functional programming may be beautiful, but to write real applications we must grapple with awkward...
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...
. The most powerful control constructs in modern programming languages are continuations and excepti...
AbstractProgram extraction is a well known technique for developing correct functional programs from...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...