Rod M. Burstall’s research while affiliated with University of Edinburgh and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (41)


Electronic category theory
  • Chapter

April 2006

·

75 Reads

·

9 Citations

R. M. Burstall

This paper describes some experiments in using algebraic and categorical ideas to write programs. In particular a program to compute colimits in a category given coproducts and coequalisers has been written, also one to lift such colimits to comma categories. The discussion is informal and aims to show how categorical concepts can be painlessly realised in computational practice.




HOPE: An Experimental Applicative Language
  • Article
  • Full-text available

August 2002

·

242 Reads

·

147 Citations

An applicative language called HOPE is described and discussed. The underlying goal of the design and implementation effort was to produce a very simple programming language which encourages the construction of clear and manipulable programs. HOPE does not include an assignment statement; this is felt to be an important simplification. The user may freely define his own data types, without the need to devise a complicated encoding in terms of low-level types. The language is very strongly typed, and as implemented it incorporates a typechecker which handles polymorphic types and overloaded operators. Functions are defined by a set of recursion equations; the left-hand side of each equation includes a pattern used to determine which equation to use for a given argument. The availability of arbitrary higher-order types allows functions to be defined which 'package' recursion. Lazily-evaluated lists are provided, allowing the use of infinite lists which could be used to provide interactive input/output and concurrency.

Download

Explicit Environments

January 2001

·

116 Reads

·

23 Citations

Fundamenta Informaticae

We introduce λƐ, a simply typed calculus with environments as first class values. As well as the usual constructs of λ and application, we have e[[a]] which evaluates term a in an environment e. Our environments are a set of variable-value pairs, but environments can also be computed by function application and evaluation in some other environments. The notion of environments here is a generalization of explicit substitutions and records. We show that the calculus has desirable properties such as subject reduction, confluence, conservativity over the simply typed λβ-calculus and strong normalizability.


ProveEasy: Helping people learn to do proofs

December 2000

·

110 Reads

·

10 Citations

Electronic Notes in Theoretical Computer Science

This paper describes an experimental system called ProveEasy for helping people learn to write Natural Deduction proofs in a goal directed style. The proof is an editable text, produced by typing or by pointing and clicking. The intended users are people who write programs, and the representation of proofs is analogous to the usual representation of programs. Emphasis is placed on distinguishing what is given from what is to be shown at each stage. The presentation shows the way the proof was discovered. The work is inspired by type theory proof assistants, but it attempts to hide the difficulties of such powerful systems.


Christopher Strachey - Understanding Programming Languages.

April 2000

·

268 Reads

·

23 Citations

Higher-Order and Symbolic Computation

This paper forms the substance of a course of lectures given at the International Summer School in Computer Programming at Copenhagen in August, 1967. The lectures were originally given from notes and the paper was written after the course was finished. ...


Explicit Environments

April 1999

·

14 Reads

·

16 Citations

Lecture Notes in Computer Science

We introduce λε, a simply typed calculus with environments as first class values. As well as the usual constructs of λ and application, we have e[[a]] which evaluates term a in an environment e. Our environments are a set of variable-value pairs, but environments can also be computed by function application and evaluation in some other environments. The notion of environments here is a generalization of explicit substitutions and records. We show that the calculus has desirable properties such as subject reduction, confluence, conservativity over the simply typed λβ-calculus and strong normalizability.


Deliverables: A Categorial Approach to Program Development in Type Theory.

January 1993

·

13 Reads

·

45 Citations

Lecture Notes in Computer Science

We describe a method for formally developing functional programs using the propositions as types paradigm. The idea is that a function together with its proof of correctness forms a morphism in a category whose objects are input/output specifications. The functionproof pairs, called deliverables, can be combined by the operations of a cartesian closed category, indeed by the same operations which are usually used to combine functions. The method has been implemented using the Lego proof assistant and tried on some examples.


Institutions: Abstract Model Theory for Specification and Programming.

January 1992

·

68 Reads

·

1,211 Citations

Journal of the ACM

There is a population explosion among the logical systems used in computing science. Examples include first-order logic, equational logic, Horn-clause logic, higher-order logic, infinitary logic, dynamic logic, intuitionistic logic, order-sorted logic, and temporal logic; moreover, there is a tendency for each theorem prover to have its own idiosyncratic logical system. The concept of institution is introduced to formalize the informal notion of “logical system.” The major requirement is that there is a satisfaction relation between models and sentences that is consistent under change of notation. Institutions enable abstracting away from syntactic and semantic detail when working on language structure “in-the-large”; for example, we can define language features for building large logical system. This applies to both specification languages and programming languages. Institutions also have applications to such areas as database theory and the semantics of artificial and natural languages. A first main result of this paper says that any institution such that signatures (which define notation) can be glued together, also allows gluing together theories (which are just collections of sentences over a fixed signature). A second main result considers when theory structuring is preserved by institution morphisms. A third main result gives conditions under which it is sound to use a theorem prover for one institution on theories from another. A fourth main result shows how to extend institutions so that their theories may include, in addition to the original sentences, various kinds of constraint that are useful for defining abstract data types, including both “data” and “hierarchy” constraints. Further results show how to define institutions that allow sentences and constraints from two or more institutions. All our general results apply to such “duplex” and “multiplex” institutions.


Citations (36)


... We should mention as the sources of the descriptive view on image analysis and consequently of DA the works of 1970 -1990 by F. Ambler, G. Barrow, R. Burstall [1], T. ...

Reference:

ICPRAI 2018 SI: Descriptive Image Analysis. Foundations and Descriptive Image Algebras
SOME TECHNIQUES FOR RECOGNISING STRUCTURES IN PICTURES
  • Citing Chapter
  • December 1972

... The mechanism for referring to non-local variables which is built into the BCPL language is inadequate to deal naturally with this situation. (So, for that matter, are those in ALGOL 60, ALGOL 68 and PL/1; two languages which are sufficiently powerful are PAL (Evans, 1968) and POP-2 (Burstall, Collins, and Popplestone, 1968).) This means that we must make special provisions to preserve the information ourselves, which we do by keeping it all in the vector S. The length of S may therefore vary from stream to stream, but the first few elements are always reserved for the basic functions and routines. ...

POP-2 Papers
  • Citing Article
  • February 1970

The Mathematical Gazette

... The preceding section described an example of arity-generic programming. We consider now a type-generic task: proving the no confusion property [4] of datatype constructors (that is, they are injective and disjoint) for a closed universe of strictly positive types. For defining a universe of datatypes, the idea (describe in more detail by Dagand and McBride [9]) is to define a type whose elements are interpreted as codes for datatype signatures and combine this with a type-level least fixedpoint operator. ...

Algebras, Theories and Freeness: An Introduction for Computer Scientists
  • Citing Article
  • January 1982

... The Poplog system developed at Sussex University in the early 1980s was an implementation of the Pop-11 language (a descendant of Pop-2 [Burstall and Popplestone 1968]) that included support for Prolog (hence the name). Subsequently, support for Common Lisp and later Standard ML was added to the implementation; the SML implementation was owed to Robert Duncan and Simon Nichols and corresponded roughly to the 1990 version of the language. ...

POP-2: Reference menual
  • Citing Article
  • January 1968

... Following this general approach, the first part of the paper develops the notion of derived structures and models. Burstall and Goguen [20,48] introduced the notion of derivor 4 to 4 Implemented as part of the mechanisms available in the programming language Clear [20] to synthesize operations out from a set of basic (and available) ones [47,48]. ...

Some fundamental algebraic tools for the semantics of computation : Part 2: Signed and abstract theories
  • Citing Article
  • December 1984

Theoretical Computer Science

... The graph correspondence problem between G a and G t then reduces to finding the maximum clique of the correspondence graph C [2]. This allows us to obtain matches between the 2D tree positions of the aerial and terrestrial clouds, used to solve for the relative planar pose using Umeyama's method [27]. ...

Subgraph isomorphism, matching relational structures and maximal cliques
  • Citing Article
  • January 1976

Information Processing Letters

... Freddy II was a "hand-eye" robot that could assemble toy wooden models from a heap of pieces. It used vision to identify and locate the parts, and was able to rearrange them to enable identification when they were obscured by other parts [1]. Given the state-of-the-art at the time, this required not only building the robot, but also designing and building the vision system, and a programming environment for controlling the various subsystems. ...

A versatile computer-controlled assembly system
  • Citing Article
  • June 1975

Artificial Intelligence

A.P. Ambler

·

·

C.M. Brown

·

[...]

·

R.J. Popplestone

... • Mathematical induction • Equational logic • CASL [326] • OBJ [327] • Clear [328] • Larch [329] • ACT-ONE [330] • LOTOS [331] Declarative modeling Logic-based languages, functional languages, rewriting languages, and languages for defining formal semantics. ...

An informal introduction to specifications using clear
  • Citing Article
  • January 1980