Results 1 
7 of
7
Models and Languages for Parallel Computation
 ACM COMPUTING SURVEYS
, 1998
"... We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architectureindependent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in ..."
Abstract

Cited by 164 (4 self)
 Add to MetaCart
(Show Context)
We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architectureindependent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in 6 categories, depending on the level of abstraction they provide.
A Logic for Miranda, Revisited
, 1994
"... . This paper expands upon work begun in the author's [Tho89], in building a logic for the Miranda functional programming language. After summarising the work in that paper, a translation of Miranda definitions into logical formulas is presented, and illustrated by means of examples. This work e ..."
Abstract

Cited by 16 (6 self)
 Add to MetaCart
. This paper expands upon work begun in the author's [Tho89], in building a logic for the Miranda functional programming language. After summarising the work in that paper, a translation of Miranda definitions into logical formulas is presented, and illustrated by means of examples. This work expands upon [Tho89] in giving a complete treatment of sequences of equations, and by examining how to translate the local definitions introduced by where clauses. The status of the logic is then examined, and it is argued that the logic extends a natural operational semantics of Miranda, given by the translations of definitions into conditional equations. Finally it is shown how the logic can be implemented in the Isabelle proof tool. 1. Introduction `Functional programming languages are the best hope for formallyverified programming ' is article of faith for many. That it remains an article of faith, rather than a fact is because of the lack of any experimental evidence. In this paper we conti...
Translating Haskell to Isabelle
, 2007
"... Abstract. We present partial translations of Haskell programs to Isabelle that have been implemented as part of the Heterogeneous Tool Set. The the target logic is Isabelle/HOLCF, and the translation is based on a shallow embedding approach. 1 ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present partial translations of Haskell programs to Isabelle that have been implemented as part of the Heterogeneous Tool Set. The the target logic is Isabelle/HOLCF, and the translation is based on a shallow embedding approach. 1
Translating Haskell to Isabelle
"... Abstract. We present partial translations of Haskell programs to Isabelle that have been implemented as part of the HetsProgramatica system. The logics HOLCF and IsabelleHOL are targets — under stronger restrictions in the latter case — to translations that are essentially based on a shallow embe ..."
Abstract
 Add to MetaCart
Abstract. We present partial translations of Haskell programs to Isabelle that have been implemented as part of the HetsProgramatica system. The logics HOLCF and IsabelleHOL are targets — under stronger restrictions in the latter case — to translations that are essentially based on a shallow embedding approach. The AWE package has been used to support a translation of monadic operators based on theory morphisms. 1
Supporting Reasoning about Functional Programs: An Operational Approach
"... Abstract Some existing systems for supporting reasoning about functional programs have been constructed without first formalising the semantics of the language. This paper discusses how a reasoning system can be built, within the HOL theorem proving environment, based on an operational semantics for ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Some existing systems for supporting reasoning about functional programs have been constructed without first formalising the semantics of the language. This paper discusses how a reasoning system can be built, within the HOL theorem proving environment, based on an operational semantics for the language and using a fully definitional approach. The theoretical structure of the system is based on work by Andrew Gordon, where applicative bisimulation is used to define program equivalence. We discuss how this theory can be embedded in HOL and the type of tools which can be built on top of this theoretical framework to make reasoning possible in practice. Introduction It is often stated that one advantage of functional programming languages, in particular pure functional languages, is that they are suitable for formal reasoning. While such reasoning is indeed carried out by some, there is a need for tools to make formal reasoning more practical and usable by a wider community. A machine based tool can be used as a proof checker, ensuring that all steps in a proof are valid, or it can automate some steps in the proof. This may involve automating only trivial steps that would be ignored when carrying out a proof on paper or some automation of more significant proof steps. One style used for reasoning about functional programs is equational reasoning. Typically a theorem of the form a = b is proved by rewriting one or both sides of the equality with some algebraic identities until both sides are identical. Some systems to support such reasoning have been built without first formalising the semantics of the language [6, 15, 16]. Each function is defined by simple algebraic identities that are introduced as axioms.
Programming Language Abstractions for the Global Network
, 2001
"... Abstract: Increasing demand for Internetbased applications motivates the development of programming models that ease their implementation. With the research presented in this thesis, we aim to improve understanding of what is involved when programming applications for the global network, and in par ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract: Increasing demand for Internetbased applications motivates the development of programming models that ease their implementation. With the research presented in this thesis, we aim to improve understanding of what is involved when programming applications for the global network, and in particular the Web. We are primarily concerned with the development of languagelevel programming abstractions that address issues arising from the failure and performance properties of the Web. Frequent failure and unpredictable performance are everpresent aspects of any Web computation, so we must bring the properties of the Web into the semantic domain of our program systems. Our primary goal is to enable concise and intuitive expression of failure semantics in the context of concurrency, which is necessary for efficient Web computation given the large overhead in every network access. The main scientific contribution of this thesis is the development of a Web programming model for which a major design goal is the integration of domain concepts, failure interpretation, concurrency, and a mechanism for flow of control after failure. Our model is the first to successfully achieve a clean integration. We develop a programming language called Focus, which incorporates two complimentary abstractions. Persistent relative observables allow reasoning about the dynamic behaviour of computations in the context of past behaviours. Examples of observables are the rate, elapsed time, and success probability of