## List Homomorphic Parallel Algorithms for Bracket Matching (1993)

Venue: | Department of Computer Science, University of Edinburgh |

Citations: | 9 - 0 self |

### BibTeX

@TECHREPORT{Cole93listhomomorphic,

author = {Murray Cole},

title = {List Homomorphic Parallel Algorithms for Bracket Matching},

institution = {Department of Computer Science, University of Edinburgh},

year = {1993}

}

### OpenURL

### Abstract

We present a family of parallel algorithms for simple language recognition problems involving bracket matching. The algorithms are expressed in the Bird-Meertens Formalism, exploiting only list operations which are inherently massively parallel. Our intention is to illustrate the practical efficacy with which such algorithms can be derived and expressed given the support of a well understood theoretical foundation. One of the variants produced is of particular interest in that it exploits the same theoretical result twice to produce nested parallelism. 1 Introduction In [8], we investigated an informal methodology for the generation of parallel algorithms based upon exploitation of a fundamental result from the Bird-Meertens "theory of lists". Our main example was an algorithm for the maximum segment sum problem. In this report we provide further examples of the approach. For completeness, the remainder of this section and sections 2 and 3 repeat the introductory material from [8]. Re...

### Citations

480 |
Can programming be liberated from the von neumann style? a functional style and its algebra of programs
- Backus
- 1978
(Show Context)
Citation Context ...chitectures [7]. The introduction of a pure functional style brings with it well documented opportunities for program design by semantics preserving transformation (perhaps most famously expounded in =-=[1]). In this-=- approach, one begins by writing a simple, "obviously" correct, but possibly inefficient solution. With a little ingenuity, and a toolkit of transformation rules, this can be transformed int... |

270 |
Vector Models for Data-Parallel Computing
- Blelloch
- 1990
(Show Context)
Citation Context ...ts content may safely proceed to section 4. The use of bulk operations on aggregate data sets as a means of generating programs with a high degree of implicit parallelism has a long history (e.g. see =-=[5]-=- for a recent presentation). Although traditionally associated with an imperative programming style and SIMD machines, the approach lends itself equally well to a purely functional presentation and se... |

220 | An introduction to the theory of lists
- Bird
- 1987
(Show Context)
Citation Context ...collection of algebraic identities and theorems relating these and a concise notation which facilitates the transformational approach to programming discussed above. Introductions to BMF can found in =-=[3, 4]-=-. In this paper we require only the two simplest and most familiar of these operations, map and reduce. Map is the curried function which applies another function to every item in a list. In BMF it is... |

193 |
Efficient Parallel Algorithms
- Gibbons, Rytter
- 1988
(Show Context)
Citation Context ..., for the language generated by the grammar S ! S S S ! ( S ) S ! [ S ] S ! f S g S ! any sequence of other symbols the string "[abcfgde(xfgyz)]" is accepted, whereas `abf[c[d]g]" is no=-=t. It is known [10]-=- that both bracket and input-driven languages can be recognized in O (log n) time on O i n log n j processors in the PRAM model. However, the algorithms involved are non-trivial. Our intention here is... |

153 | Parallel programming using skeleton functions
- Darlington, Field, et al.
- 1993
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[6, 9, 11, 12, 13, 14, 15, 18]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. 2 The Bird-Meertens Formalism and its Parallel Interpr... |

92 |
Architecture-independent parallel computation
- Skillicorn
- 1990
(Show Context)
Citation Context ...ble parallel cost model for BMF and illustrates its efficacy with the transformational derivation of various parallel programs and the justification of the introduction of new operators to the theory =-=[6, 16, 18, 17, 19]-=-. 3 The Homomorphism Lemma As we have noted above, the bulk of work in BMF (in both sequential and parallel contexts) follows the simple specification then formal transformation approach. In what foll... |

58 |
Algebraic identities for program calculation
- Bird
- 1989
(Show Context)
Citation Context ...collection of algebraic identities and theorems relating these and a concise notation which facilitates the transformational approach to programming discussed above. Introductions to BMF can found in =-=[3, 4]-=-. In this paper we require only the two simplest and most familiar of these operations, map and reduce. Map is the curried function which applies another function to every item in a list. In BMF it is... |

58 | A Cost Calculus for Parallel Functional Programming
- Skillicorn, Cai
- 1995
(Show Context)
Citation Context ...ble parallel cost model for BMF and illustrates its efficacy with the transformational derivation of various parallel programs and the justification of the introduction of new operators to the theory =-=[6, 16, 18, 17, 19]-=-. 3 The Homomorphism Lemma As we have noted above, the bulk of work in BMF (in both sequential and parallel contexts) follows the simple specification then formal transformation approach. In what foll... |

24 | Parallel Programming, List Homomorphisms and the Maximum Segment Sum Problem
- Cole
- 1993
(Show Context)
Citation Context ...a well understood theoretical foundation. One of the variants produced is of particular interest in that it exploits the same theoretical result twice to produce nested parallelism. 1 Introduction In =-=[8], we inves-=-tigated an informal methodology for the generation of parallel algorithms based upon exploitation of a fundamental result from the Bird-Meertens "theory of lists". Our main example was an al... |

17 |
Deriving Parallel Programs from Specifications using Cost
- Skillicorn
- 1993
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[6, 9, 11, 12, 13, 14, 15, 18]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. 2 The Bird-Meertens Formalism and its Parallel Interpr... |

14 |
Deriving associative operators for language recognition
- Barnard, Schmeiser, et al.
- 1991
(Show Context)
Citation Context ...e non-trivial. Our intention here is to illustrate that good, if sub-optimal parallel algorithms can be derived in a simple, intuitive fashion by exploiting the Homomorphism Lemma. In a similar vein, =-=[2]-=- presents a BMF parsing algorithm for operator precedence grammars, from which a solution to the bracket matching problems can be specialised. Their algorithm has linear time behaviour in the worst ca... |

13 |
Calculating recurrences using the Bird-Meertens Formalism
- Cai, Skillicorn
- 1994
(Show Context)
Citation Context ...t machine is sequential or parallel, given an appropriate cost model within which to work. This approach has been used to derive parallel algorithms for a variety of problems and target architectures =-=[6, 9, 11, 12, 13, 14, 15, 18]-=-. In the remainder of this paper, we concentrate on a particular instantiation of the method, and the application of one of its simplest results. 2 The Bird-Meertens Formalism and its Parallel Interpr... |

10 |
Evaluation of a Set of Message-Passing Routines in Transputer Networks
- Cai, Skillicorn
- 1992
(Show Context)
Citation Context ...gramming style and SIMD machines, the approach lends itself equally well to a purely functional presentation and seems amenable to implementation on coarser grained message-passing MIMD architectures =-=[7]-=-. The introduction of a pure functional style brings with it well documented opportunities for program design by semantics preserving transformation (perhaps most famously expounded in [1]). In this a... |

6 |
Functional programming for loosely coupled multiprocessors
- Kelly
- 1989
(Show Context)
Citation Context |

3 |
Exploiting Data-Parallelism in Functional Languages
- Jouret
- 1991
(Show Context)
Citation Context |

2 |
Calculating a Parallel Algorithm for the Maximum of a Set of Naturals
- O'Donnell
- 1991
(Show Context)
Citation Context |

2 |
An Exercise in the Synthesis of Parallel Functional Programs for Message Passing Architectures
- Sharp, Field, et al.
- 1992
(Show Context)
Citation Context |

2 |
A Synthesis of a Dynamic Message Passing Algorithm for Quicksort
- Sharp, Harrison, et al.
- 1991
(Show Context)
Citation Context |