What will be the next revolution in software technology to follow XML and generics? Whatever it may be, it is likely to come from functional programming, where many of the key ideas of the last decade originated. In this textbook, the leading researchers of the field take you on a tour of the current hot topics in functional programming, with applications ranging from financial contracts to circuit design. There are also chapters on new idioms for structuring programs, such as monads and arrows. All new concepts are illustrated with many examples, and exercises appear throughout to further enliven the material. Several of the chapters describe a substantial piece of software, and most of these programs are collected on a website for free downloading.
This book was edited in honour of Richard S.Bird, Professor of Computer Science at the University of Oxford, on his 60th birthday.
What will be the next revolution in software technology to follow XML and generics? Whatever it may be, it is likely to come from functional programming, where many of the key ideas of the last decade originated. In this textbook, the leading researchers of the field take you on a tour of the current hot topics in functional programming, with applications ranging from financial contracts to circuit design. There are also chapters on new idioms for structuring programs, such as monads and arrows. All new concepts are illustrated with many examples, and exercises appear throughout to further enliven the material. Several of the chapters describe a substantial piece of software, and most of these programs are collected on a website for free downloading.
This book was edited in honour of Richard S.Bird, Professor of Computer Science at the University of Oxford, on his 60th birthday.
Brings together the top researchers in the field for a state-of-the-art collection on functional programming
Covers all the latest developments and current hot topics at the time of writing with applications ranging from financial contracts to circuit design
Illustrates the wider significance of functional programming
Introduces advanced techniques
A useful teaching resource for second courses in functional programming
Jeremy Gibbons
design development functional programming programming software