Cobweb — A combinator reduction architecture

  • CL Hankin
  • PE Osmon
  • MJ Shute
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 201)


The work reported in this paper represents the convergence of ideas stemming from two areas of research. In the hardware field there has been significant interest in developing the techniques of Wafer Scale Integration to provide large assemblies of tightly-coupled simple processors that can act cooperatively in the execution of a task. In the software field there has been a growing awareness that declarative languages lead to higher programmer productivity and offer more potential for parallel evaluation than the traditional, imperative languages.

This paper describes the first machine in a family called COBWEB. The common denominator of the family is that all of the machines are targetted to supporting functional languages and all execute some form of combinator code. The first machine employs normal order reduction to evaluate pure functional programs. The next machine will use a parallel reduction strategy and later members will support progressively more sophisticated facilities. All of the machine are intended to exploit the potential of Wafer Scale Integration.


Output Buffer Abstract Machine Functional Language Parallel Evaluation Garbage Collector 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Aub1]
    Aubusson R C, Catt I "Wafer Scale Integration — A Fault Tolerant Procedure", IEEE Journal of Solid State Circuits, Vol Sc-13, June 1978.Google Scholar
  2. [Aub2]
    Aubusson R C, Gledhill R J "Wafer Scale Integration — Some Approaches to the Interconnection Problem", Microelectronics, Vol 9, 1978.Google Scholar
  3. [Bac]
    Backus J "Can programming be liberated from the von Neumann Style?", CACM, Vol 21 No 8, 1978.Google Scholar
  4. [Bur1]
    Burn G L, Hankin C L, Abramsky S "The Theory and Practice of Strictness Analysis for Higher Order Functions", Imperial College Research Report DoC 85/6, 1985.Google Scholar
  5. [Bur2]
    Burstall R M, McQueen D B, Sanella D T "HOPE: An experimental Applicative Language", University of Edinburgh, 1980.Google Scholar
  6. [Cla]
    Clarke T J W, Gladstone P J S, Maclean C D, Norman A C "SKIM — The S, K, I Reduction Machine", ACM Conference on LISP and Functional Programming Languages, 1980.Google Scholar
  7. [Cou]
    Cousineau G, Curien P-L, Mauny M "The Categorical Abstract Machine", Universite Paris VII Report 85-8, 1985.Google Scholar
  8. [Dar]
    Darlington J, Reeve M "A Multi-processor Reduction Machine for the Parallel Evaluation of Applicative Languages", Proceedings of the ACM/MIT Conference on Functional Programming Languages and Computer Architecture, 1981.Google Scholar
  9. [Fre]
    French E F, Glaser H W "Tuki, A Data Flow Processor", Computer Architecture News, March 1983.Google Scholar
  10. [Gla]
    Glaser H W, Hankin C L, Till D R "Principles of Functional Programming" Prentice Hall International, September 1984.Google Scholar
  11. [Han]
    Hankin C L "A data flow model of parallel processing", Ph.D. thesis, University of London, 1979.Google Scholar
  12. [Lea1]
    Lea R M, Streetharan M "VLSI — DLMs: A structured approach to Chip Architecture", Brunel University.Google Scholar
  13. [Lea2]
    Lea R M, Streetharan M "WSI Distributed Logic Memories", Caltech Conference on VLSI, 1979.Google Scholar
  14. [Mag]
    Mago G A "A Cellular Computer Architecture for Functional Programming", Compcon, 1980.Google Scholar
  15. [Myc]
    Mycroft A "Abstract Interpretation and Optimising Transformations for Applicative Programs", PhD thesis, University of Edinburgh, October 1984.Google Scholar
  16. [Osm]
    Osmon P E "Hierarchical Language Derived Data Flow Architectures", ICS 81, IPC Science and Technology Press, 1981.Google Scholar
  17. [PeJ]
    Peyton Jones S L, Clack C, Harris N "GRIP — A parallel graph reduction machine", University College Internal Note 1665, 1985.Google Scholar
  18. [Shu]
    Shute M J "The Role of Simulation in the Study of Multiprocessor, Control Flow and Data Flow Systems", PhD thesis(2 vols), University of London, 1983.Google Scholar
  19. [Tur1]
    Turner D A "A New Implementation Technique for Applicative Languages", Software Practice and Experience, January 1979.Google Scholar
  20. [Tur2]
    Turner D A "Another Algorithm for Bracket Abstraction", Journal of Symbolic Logic, Vol 44 No 2, June 1979.Google Scholar
  21. [Wat]
    Watson I, Gurd J "A Practical Data Flow Computer", IEEE Computer, February 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • CL Hankin
    • 1
  • PE Osmon
    • 2
  • MJ Shute
    • 3
  1. 1.Dept of Computing Imperial CollegeLondon UniversityLondon
  2. 2.Dept of Computing Kings CollegeLondon UniversityLONDON
  3. 3.Microelectronics CentreMiddlesex PolytechnicLONDON

Personalised recommendations