29 citations found. Retrieving documents...
R.S. Bird. A calculus of functions for program derivation. Technical Report PRG--64, Oxford University, Computing Laboratory, Programming Research Group, December 1987.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

A Calculational Approach to Program Inversion - Linacre (2003)   (1 citation)  (Correct)

....program that is e#cient, yet still a valid refinement of the original specification, is constructed. We will call the progress from the specification to the resulting program a program derivation. Among the many approaches to program derivation, ours is a descendant of the Bird Meertens Formalism [61, 62, 12, 33]. The characteristics of this style includes a uniform and concise notation for both specification and programming constructs, and a linear, equational reasoning style of program refinement. There are at least two reasons why program derivation involving inverse functions deserves a thesis of its ....

R. S. Bird. A calculus of functions for program derivation. In D. A. Turner, editor, Research Topics in Functional Programming, University of Texas at Austin Year of Programming Series, pages 287--308. Addison-Wesley, 1990.


Proof for Functional Programming - Thompson (1998)   (Correct)

....facs 0, gives a recursive definition of the list in question. The definition uses the function zipWith which runs in lock step along two lists, applying a function to the elements chosen. zipWith f (x:xs) y:ys) f x y : zipWith f xs ys zipWith f = so that, for example, zipWith ( 1,1,2] [1,2,3] = 1,2,6] In fact, a more general function is defined, which gives a recursive definition of the list of factorials from n , facs : Integer [Integer] facs n = fac n : zipWith ( n 1) facs n) facs.1) To prove the equality of the two lists facMap and facs 0 we first prove an ....

....filter and fold over lists as polymorphic higher order functions. Indeed, these higher order operators can be sufficient to define all functions of interest. This was the insight of Backus in defining FP, 2] and has been developed by a number of researchers, most notably by Bird and Meertens, [3], who are responsible for the Bird Meertens formalism (BMF) Their approach is to build a calculus or algebra of programs built from a fixed set of combining forms, with laws relating these combinators expressed at the function level, such as map (f . g) j map f . map g (mapComp) These laws are ....

Richard Bird. A Calculus of Functions for Program Derivation. In David A. Turner, editor, Research Topics in Functional Programming. Addison Wesley, 1990.


The Data Field Model - Lisper, Hammarlund (2001)   (Correct)

....Values in FP are either atoms or tuples (sequences) the latter can be seen as (implicitly) indexed data structures. Similar to FP in spirit is the Bird Meertens formalism (BMF) Here an algebra with unary and binary functions forms a base for a set of theories for different data types [4, 5]. In particular, there is a theory for functions over lists. This formalism was originally developed to support the formal calculation of programs from specifications, but it can also serve as an abstract model for explicit data parallel programming, with a cost model [60] The systematic ....

R. S. Bird. A calculus of functions for program derivation. In D. A. Turner, editor, Research Topics in Functional Programming, The UT Year of Programming Series, chapter 11, pages 287--307. Addison-Wesley, Reading, MA, 1989.


A Formal Basis for the Refinement of Rule Based Transition Systems - Clark (1996)   (Correct)

....by this paper does not require unification, but it is an area for further work to investigate the requirements of more sophisticated applications. This work is broadly related to the area of program transformation where Partsch [Partsch, 1983] and Luqi [Luqi, 1993] cover the general issues and Bird [Bird, 1987] and Burstall and Darlington [Burstall Darlington, 1977] are more in the spirit of the transformations described here. We have viewed the specification of rule based transition systems as computational processes from the start whereas Morgan [Morgan, 1990] gives a different perspective of ....

Bird, R. S. 1987 A Calculus of Functions for Program Derivation. Oxford University Programming Research Group Monograph.


Quality Issues in the Formal Refinement of KBS - Clark   (Correct)

....areas addressed by this paper do not require unification, but it is an area for further work to investigate the requirements of more sophisticated applications. This work is broadly related to the area of program transformation where Partsch (1983) and Luqi (1993) cover the general issues and Bird (1987) and Burstall and Darlington (1977) are more in the spirit of the transformations described here. We have viewed the specification of rule based transition systems as computational processes from the start whereas Morgan (1990) gives a different perspective of specification and refinement. ....

Bird, R. S. (1987) A Calculus of Functions for Program Derivation. Oxford University Programming Research Group Monograph.


A Semantic Framework for Object-Oriented Development - Clark (1999)   (Correct)

....are weak at capturing temporal system properties. A number of researchers such as [Par83] and [Luq93] advocate program transformation and step wise program refinement in the system development process. Transformation of programs in a functional notation started with [Bur77a] and continued with [Bir87]. Refinement of UML object oriented designs using Z 30 and the Object Calculus is described in [Eva98] and [Eva99] Both of these approaches use logic as the design language this is contrasted with the more computational approach taken in this paper. A general approach to program refinement is ....

Bird, R., S.: A Calculus of Functions for Program Derivation. Oxford University Programming Research Group Monograph, 1987.


Bridging the Algorithm Gap: A Linear-time Functional Program .. - de Moor, Gibbons (1997)   (5 citations)  (Correct)

....lines (as returned by the function linw) all that matters is that the total waste is the sum of the waste on the individual lines. Using the above two monotonicity properties, one may conclude that the following dynamic programming algorithm is a valid solution to the specification par0 [2]. par1 = minWith waste . fold1 step start where step w ps = filter fitH (new w(minWith waste ps) map(glue w) ps) start w = filter fitH [ w] fitH = fits . head Note that par1 is not equal to par0; in particular, if there is more than one optimal paragraph, par0 and par1 may ....

R. S. Bird. A calculus of functions for program derivation. In D. A. Turner, editor, Research Topics in Functional Programming, University of Texas at Austin Year of Programming Series, pages 287--308. Addison--Wesley, 1990.


A Combinational Framework For Parallel Programming Using.. - Hamdan (2000)   (8 citations)  (Correct)

....condition. It is normally implemented in a similar way to the map skeleton. 2.3 Skeleton Programming Models and Systems This is the second part of the survey which looks at abstract models and concrete systems for skeleton oriented parallel programming. 2.3. 1 BMF The Bird Meertens Formalism BMF [13] s a notation for describing functions with a calculus for manipulating function descriptions. The idea of BMF is to derive programs from problem speci cations. Most of the work on BMF has concentrated on lists. A theory in BMF describes the behaviour of a data type, and provides a set of ....

....which is associative but not commutative. fun append [ l = l j append (h: t) l = h: append t l) The function append takes two arguments (lists) and returns a list. We can use this function as an argument to fold over a list of lists. fold append [ 1,2] 3,4] 5,6] 7,8] 9,10] 11,12] [13,14], 15,6] In the above program fold with append as its function argument is applied to a list that has 8 sublists. The expected result is [1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15,16] However, if the sublists are not distributed in a speci c order then incorrect results will be returned. This order ....

[Article contains additional citation context not shown here]

R. Bird. A calculus of functions for program derivation. Technical report, Oxford University Computing Laboratory, Programming Research Group.


An Exploration of the Bird-Meertens Formalism - Backhouse (1989)   (14 citations)  (Correct)

....irrelevant fact that my implementation language was imperative whereas Bird s was recursively defined functions but I had no time to explore the connections in detail. Only recently did I make the time for such an exploration, spurred on by the observation that Bird together with Meertens [10, 6, 11, 20] seemed to have been making remarkable progress. The goal that I set myself, the outcome of which is reported here, was self evident. In my book [1] I had identified a number of properties of quantifications over finite domains that experience showed were central to the calculation of a number of ....

R.S. Bird. A Calculus of Functions for Program Derivation. Technical Report, Programming Research Group, Oxford University, 11, Keble Road, Oxford, OX1 3QD, U.K., 1988.


(Relational) Programming Laws in the Boom Hierarchy of Types - Hoogendijk (1992)   (1 citation)  (Correct)

....our own conception of it) is a calculus of total functions based on a small number of primitives and a hierarchy of types including trees and lists. The theory was set out in an inspiring paper by Meertens [22] and has been further refined and applied in a number of papers by Bird and Meertens [8, 9, 11, 12, 13]. Its beauty derives from the small scale of the theory itself compared with the large scale of applications. Essentially there are just three primitive operators in the theory reduce , map and filter . Actually, the names used by Meertens for the first two of these operators were ....

R.S. Bird. A Calculus of Functions for Program Derivation. Technical report, Programming Research Group, Oxford University, 11, Keble Road, Oxford, OX1 3QD, U.K., 1988.


Elements of a Relational Theory of Datatypes - Backhouse, Hoogendijk (1993)   (15 citations)  (Correct)

....our own conception of it) is a calculus of total functions based on a small number of primitives and a hierarchy of types including trees and lists. The theory was set out in an inspiring paper by Meertens [23] and has been further refined and applied in a number of papers by Bird and Meertens [9, 10, 13, 11, 14]. Essentially there are just three primitive operators in the theory reduce , map and filter . These operators are defined at each level of a hierarchy of types called the Boom hierarchy 1 after H.J. Boom to whom Meertens attributes the concept. The Boom hierarchy begins at the level ....

....our own conception of it) is a calculus of total functions based on a small number of primitives and a hierarchy of types including trees and lists. The theory was set out in an inspiring paper by Meertens [23] and has been further refined and applied in a number of papers by Bird and Meertens [9, 10, 13, 11, 14]. Essentially there are just three primitive operators in the theory reduce , map and filter . Actually, the names used by Meertens for the first two of these operators were inserted in and applied to all . Moreover, just the first two are primitive since filter is defined in terms of ....

R.S. Bird. A calculus of functions for program derivation. Technical report, Programming Research Group, Oxford University, 11, Keble Road, Oxford, OX1 3QD, U.K., 1988.


Formal Construction of a Sorting Algorithm - Borges, Ravelo (1993)   (Correct)

....but that it would be useful to add techniques for dealing with linear arrays. Apartado Postal 89000, Caracas 1089 A Tel efono: 906 3261 Fax: 906 3243 borges usb.ve jravelo usb.ve 1 Introduction Richard Bird and Lambert Meertens have developed a functional calculus for program construction ([Bir87]) the so called Bird Meertens formalism, which has been the framework of many recent works in transformational programming. We wanted to consider the problem of sorting, in the context of the calculus, and thereby explore its applicability to the derivation of several sorting algorithms, bearing ....

....transition to an imperative implementation and some concluding remarks regarding the work done and what we plan to do. 2 The Calculus Here we give an informal introduction to the notation used, with a list of the calculus rules used in the derivation. A more extensive treatment can be found in [Bir87] and [Bir88] 2.1 Notation The notation used follows closely that of [Bir88] and [SdM92] Lists are written with their elements enclosed in square brackets, so the empty list becomes [ The length of a list x is obtained by #x, the first element is head x, the last element is last x and the ....

[Article contains additional citation context not shown here]

Richard S. Bird. A calculus of functions for program derivation. Technical Monograph PRG-64, Oxford University, 1987.


A Survey of Cost Models for Algorithmic Skeletons - Hamdan (1999)   (Correct)

....of the skeletons for the 2 D torus topology. Also, cost models were developed for the tree topology. All Topologies Table 4 outlines the skeletons which have one cost model for the four topologies. D. Skillicorn et al. [18, 19] have developed a cost calculus for the BirdMeertens Formalism (BMF) [1]. First we briefly describe BMF before describing skeleton cost model s fold C m ideal s fold = C f ( n p 1 log p 1 2 log p 2 2 T 1 com ( p 1 p 2 2 ) g fold C f ( n p 1 log p 1 2 log p 2 2) Plog p 1 2 Gamma1 i=0 (2 i T 2 i n p m com ) T p 1 2 n p ....

Richard Bird. A Calculus of Functions for Program Derivation. Technical report, Oxford University Computing Laboratory, Programming Research Group.


An overview of the Adl language project - Brad Alexander (1995)   (3 citations)  (Correct)

....constructs joining them. The identities can be applied to transform the program. This suggests an approach to software development where high level prototypes can be refined to forms known to be more efficient. There has been some work undertaken to illustrate the utility of this approach [6, 12, 13, 23]. One advantage of this approach to optimization is that it gives us much more confidence in program correctness, when compared to current techniques which rely on low level debugging. 2.1 Concatenate lists and homomorphisms The best studied CDT under BMF is the concatenate list. These lists ....

Richard Bird. A calculus of functions for program derivation. Technical Report 64, Programming Research Group, Oxford University, 1987.


SPECWARE: Formal Support for Composing Software - Srinivas, Jüllig (1995)   (45 citations)  (Correct)

.... data type refinement in an algebraic setting with Hoare s abstraction refinement functions [Hoare 72] which also underlie the refinement found in Vdm [Jones 86] Our work is both similar and complementary to Bird s and Meertens equational reasoning approach to program development [Bird 86, Bird 87] Reasoning about commuting specification diagrams is equational reasoning at the specification level; Bird s and Meertens equations are at the axiom level. Of course the two can happily co exist. Our framework for structured code generation is adopted from Meseguer s work on logic morphisms ....

Bird, R. A calculus of functions for program derivation. Tech. Rep. PRG-64, Oxford University, Programming Research Group, December 1987.


Representability and Program Construction within Fork Algebras - Frias, Baum, Haeberer (1998)   (1 citation)  (Correct)

....with the passing of time. As an example of this, calculi formerly based only in functions have been extended with relational operators [5, 19] The reason to do so, is that even though calculi based on functions have shown to be fruitful for program development from functional specifications [3, 4], finding such specifications requires still a big e#ort, since the gap between the problem and its functional specification may be di#cult to be crossed. On the other hand, relational frameworks allow to define new operators adequate for relations but not for functions. These operators, as for ....

....6 Program Construction within Fork Algebras, Adding a New Dimension A programming calculus can be viewed as a set of rules to obtain, in a more or less systematic way, programs out of specifications. A very interesting and popular approach, is the one based on functional programming languages [4]. In these functional frameworks, specifications and programs are expressed in the same language, and transformation rules are defined in a suitable, frequently ad hoc, metalanguage. A main drawback of functional settings, is the lack of expressiveness of their specification languages which are ....

R. Bird,A Calculus of Functions for Program Derivation, in Turner D., editor, Research Topics in Functional Programming, University of Texas at Austin Year of Programming Series, Addison-- Wesley 287--308.


The Bird-Meertens Formalism as a Parallel Model - Skillicorn (1993)   (35 citations)  (Correct)

....last equation of the list above, as sort = 0= Delta ( Delta] where [ Delta] is the make singleton function and the occurrence of sort on the right hand side has been deleted because a singleton is necessarily already sorted. Many other examples of the use of the theory of lists can be found in [3 6]; a particularly interesting example is the derivation of the Knuth Morris Pratt string matching algorithm [7] Examples of operations on trees such as parenthesis matching and attribute grammar evaluation can be found in [18] We now turn to evaluating the Bird Meertens formalism by the criteria ....

R.S. Bird. A calculus of functions for program derivation. Oxford University Programming Research Group Monograph PRG-64, 1987.


A Class of Graph Algorithms - Ravelo (1996)   (Correct)

....for specifications and programs in Morgan s refinement calculus [39] A more general framework is needed if we also want to make space for functional programs. Indeed, Bird and de Moor s (BdM s) relational calculus developed from work on a calculus for functional programs by Bird and Meertens [8, 33]. The relevance of functional languages is nowadays largely recognised (see e.g. 26, 27] after Backus convincingly argued in favour of them in the late 70s [6] A typical case of indeterminacy is found in optimization problems, because several different solutions can all be optimal. This was one ....

R.S. Bird. A calculus of functions for program derivation. In D.A. Turner, editor, Research Topics in Functional Programming. Addison-Wesley, 1990.


Generic Programming With Relations and Functors - Bird, de Moor, Hoogendijk (1999)   (6 citations)  Self-citation (Bird)   (Correct)

....by a data type, to solve the general problem of pattern matching In this paper we give a positive answer to the above question, though for a problem somewhat simpler than pattern matching. The problem, the well known maximum segment sum, was chosen because sucient list theory exists [4, 5, 6] for one to calculate an ecient solution in a few equational steps. It turns out that we can generalise the theory of segments to more or less arbitrary data types, so the calculation leads to a generic solution to the problem. In order to be able to construct a generic theory of segments, we ....

R. S. Bird. A calculus of functions for program derivation. In D.A. Turner, editor, Research Topics in Functional Programming, University of Texas at Austin Year of Programming Series, pages 287-308. Addison{Wesley, 1990.


Efficient Functional Programming Communication Functions on the.. - Loke (1994)   Self-citation (Bird)   (Correct)

....representing numerical values) may also be manipulated algebraically and computer programs themselves may be considered as such objects, if assigned suitable mathematical semantics. 2.1. 3 A Calculus of Functions The above are the main ideas behind the origin of the Bird Meertens Formalism [17, 18, 19, 20] (BMF) which in terms of its primary use, is a calculus of functions 2 for program derivation from specifications, developed by Bird in collaboration with Meertens. The calculus consists of concepts and notations which emphasise economy of expression and calculation in line with algorithmics ....

....over lists, have been carried out by Bird and others using this formalism, some of which are reformulations of existing algorithms. This includes programs for solving segment problems in [38] programs for text processing [17] a pattern matching algorithm [39] run length encoding algorithms [18] and Backtracking and Branch and Bound programs [40] 6.1.2 Parallel Program Derivation Because proofs of correctness or program verification is much harder for parallel programs [1] the transformational approach to program development for parallel environment becomes important. However, many ....

R. Bird, "A Calculus of Functions for Program Derivation." Oxford University Programming Research Group Monograph PRG-64, 1987.


Program Calculation Properties of Continuous Algebras - Fokkinga, Meijer (1991)   (11 citations)  (Correct)

No context found.

R.S. Bird. A calculus of functions for program derivation. Technical Report PRG--64, Oxford University, Computing Laboratory, Programming Research Group, December 1987.


Arrows, Robots, and Functional Reactive Programming - Hudak, Courtney, Nilsson.. (2002)   (1 citation)  (Correct)

No context found.

Richard S. Bird. A calculus of functions for program derivation. In David A. Turner, editor, Reseach Topics in Functional Programming. Adison-Wesley, 1990.


Modelling Nondeterminism - Martin, Curtis, Rewitzky (2004)   (1 citation)  (Correct)

No context found.

Bird, R. S.(1990) A calculus of functions for program derivation. In Turner, D. A., editor, Research Topics in Functional Programming, University of Texas at Austin Year of Programming series, p 287308, Addison-Wesley.


A Survey of Cost Models for Algorithmic Skeletons - Hamdan (1999)   (Correct)

No context found.

Richard Bird. A Calculus of Functions for Program Derivation. Technical report, Oxford University Computing Laboratory, Programming Research Group.


Logical Specifications for Functional Programs - Norvell, Hehner (1993)   (2 citations)  (Correct)

No context found.

R.S. Bird. A calculus of functions for program derivation. In David A. Turner, editor, Research Topics in Functional Programming, The UT Year of Programming Series. Addison-Wesley, 1990.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC