Results 1 
3 of
3
Generalising Monads to Arrows
 Science of Computer Programming
, 1998
"... this paper. Pleasingly, the arrow interface turned out to be applicable to other kinds of nonmonadic library also, for example the fudgets library for graphical user interfaces [CH93], and a new library for programming active web pages. These applications will be described in sections 6 and 9. Whil ..."
Abstract

Cited by 164 (3 self)
 Add to MetaCart
this paper. Pleasingly, the arrow interface turned out to be applicable to other kinds of nonmonadic library also, for example the fudgets library for graphical user interfaces [CH93], and a new library for programming active web pages. These applications will be described in sections 6 and 9. While arrows are a little less convenient to use than monads, they have significantly wider applicability. They can therefore be used to bring the benefits of monadlike programming to a much wider class of applications. 2 Background: Library Design Using Monads
A Rendezvous of Functions and Reactive Objects  Escaping the Evil
 I, Proceedings of Haskell Workshop
, 1997
"... We present an extension to Haskell which supports reactive, concurrent programming with objects, sans the problematic blocking input. We give a semantics together with a number of programming examples, and show an implementation based on a preprocessor, and a library written in Concurrent Haskell. 1 ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We present an extension to Haskell which supports reactive, concurrent programming with objects, sans the problematic blocking input. We give a semantics together with a number of programming examples, and show an implementation based on a preprocessor, and a library written in Concurrent Haskell. 1 Introduction With the advent of Haskell 1.3 the monadic I/O model has become well established [Pe96]. At the top level, a Haskell program is now a sequence of imperative commands that transforms a state consisting of the real world and/or some program state into a final configuration. In a pure state transformational approach, carrying a monolithic program state around is likely to complicate modular design; however, this problem can to a large extent be circumvented by introducing firstclass references in the monadic framework [LPJ94]. Taken together, these additions make the resulting Haskell programs  on the top level at least  more and more reminiscent of programs written in tra...
A ProofTheoretical Investigation of Zantema's Problem
 In M. Nielsen and W. Thomas (Eds.), Proc. 11th Annual Conf. of the EACSL CSL97, Lecture Notes in Comput. Sci
, 1998
"... . We present a concrete example of how one can extract constructive content from a nonconstructive proof. The proof investigated is a termination proof of the stringrewriting system 1100 ! 000111. This rewriting system is selfembedding, so the standard termination techniques which rely on Krus ..."
Abstract
 Add to MetaCart
. We present a concrete example of how one can extract constructive content from a nonconstructive proof. The proof investigated is a termination proof of the stringrewriting system 1100 ! 000111. This rewriting system is selfembedding, so the standard termination techniques which rely on Kruskal's Tree Theorem cannot be applied directly. Dershowitz and Hoot [3] have given a classical termination proof using a minimal bad sequence argument. We analyse their proof and give a constructive interpretation of it, which enables us to extract a first proof in Type Theory that uses generalised inductive definitions. By simplifying this constructive proof we obtain a second proof in a theory conservative over primitive recursive arithmetic. This proof is generalised to a theorem about string rewriting systems. 1 Introduction This paper presents a concrete example, from the theory of rewriting systems, illustrating some basic points in proof theory, and providing further motivations for t...