Overview
- Editors:
-
-
Kevin Hammond
-
Division of Computer Science, University of St Andrews, St Andrew, Fife, UK
-
Greg Michaelson
-
Department of Computing and Electrical Engineering, Heriot-Watt University, Riccarton, Edinburgh, UK
- This is the only book currently available on this subject
- It contains an extensively researched bibliography which will be invaluable to anyone researching this and related topics
Access this book
Other ways to access
About this book
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 approaches: 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.
Similar content being viewed by others
Table of contents (20 chapters)
-
Front Matter
Pages I-XXVI
-
Fundamentals
-
-
- Kevin Hammond, Greg Michaelson
Pages 3-29
-
- Greg Michaelson, Kevin Hammond, Chris Clack
Pages 31-61
-
-
-
-
-
Current Research Areas
-
Front Matter
Pages 189-189
-
-
-
-
- Nathan Charles, Colin Runciman
Pages 233-246
-
- A. P. Willem Böhm, Jeffrey P. Hammes
Pages 247-265
-
-
-
-
- Rinus Plasmeijer, Marko van Eekelen, Marco Pil, Pascal Serrarens
Pages 323-338
-
-
Editors and Affiliations
-
Division of Computer Science, University of St Andrews, St Andrew, Fife, UK
Kevin Hammond
-
Department of Computing and Electrical Engineering, Heriot-Watt University, Riccarton, Edinburgh, UK
Greg Michaelson