Bookbot

Kevin Hammond

    Functional programming, Glasgow 1994
    Research directions in parallel functional programming
    • 1999

      Programming is hard. Building a large program is like constructing a steam locomotive through a hole the size of a postage stamp. An artefact that is the fruit of hundreds of person-years is only ever seen by anyone through a lOO-line window. In some ways it is astonishing that such large systems work at all. But parallel programming is much, much harder. There are so many more things to go wrong. Debugging is a nightmare. A bug that shows up on one run may never happen when you are looking for it - but unfailingly returns as soon as your attention moves elsewhere. A large fraction of the program's code can be made up of marshalling and coordination algorithms. The core application can easily be obscured by a maze of plumbing. Functional programming is a radical, elegant, high-level attack on the programming problem. Radical, because it dramatically eschews side-effects; elegant, because of its close connection with mathematics; high-level, be­ cause you can say a lot in one line. But functional programming is definitely not (yet) mainstream. That's the trouble with radical it's hard for them to break through and become mainstream. But that doesn't make functional programming any less fun, and it has turned out to be a won­ derful laboratory for rich type systems, automatic garbage collection, object models, and other stuff that has made the jump into the mainstream.

      Research directions in parallel functional programming
    • 1995

      This is the proceedings of the seventh annual workshop held by the Glasgow Functional Programming Group. The purpose of the workshop is to provide a focus for new research, to foster research contacts with other functional language researchers, and to provide a platform for research students to develop their presentation skills. As in previous years, we spent three days closeted together in a pleasant seaside town, isolated from normal work commitments. We were joined by colleagues from other universities (both UK and abroad) and from industry. Workshop participants presented a short talk about their current research work, and produced a paper which appeared in a draft proceedings. These papers were then reviewed and revised in the light of discussions at the workshop and the referees' comments. A selection of those revised papers (the majority of those presented at the workshop) appears here in the published proceedings. The papers themselves cover a wide span, from theoretical work on algebras and bisimilarity to experience with a real-world medical applica tion. Unsurprisingly, given Glasgow's track record, there is a strong emphasis on compilation techniques and optimisations, and there are also several papers on concurrency and parallelism.

      Functional programming, Glasgow 1994