Here is an introduction to functional programming and its associated systems. A unique feature is its use of the language Haskell for teaching both the rudiments and the finer points of the functional technique. Haskell is a new, internationally agreed and accepted functional language that is designed for teaching, research and applications, that has a complete formal description, that is freely available, and that is based on ideas that have a wide consensus. Thus it encapsulates some of the main thrusts of functional programming itself, which is a style of programming designed to confront the software crisis directly. Programs written in functional languages can be built up from smaller parts, and they can also be proved correct, important when software has to be reliable. Moreover, a certain amount of parallelism can be extracted from functional languages automatically. This book serves as an introduction both to functional programming and Haskell, and will be most useful to students, teachers and researchers in either of these areas. An especially valuable feature are the chapters on programming and implementation, along with a large number of exercises.
Here is an introduction to functional programming and its associated systems. A unique feature is its use of the language Haskell for teaching both the rudiments and the finer points of the functional technique. Haskell is a new, internationally agreed and accepted functional language that is designed for teaching, research and applications, that has a complete formal description, that is freely available, and that is based on ideas that have a wide consensus. Thus it encapsulates some of the main thrusts of functional programming itself, which is a style of programming designed to confront the software crisis directly. Programs written in functional languages can be built up from smaller parts, and they can also be proved correct, important when software has to be reliable. Moreover, a certain amount of parallelism can be extracted from functional languages automatically. This book serves as an introduction both to functional programming and Haskell, and will be most useful to students, teachers and researchers in either of these areas. An especially valuable feature are the chapters on programming and implementation, along with a large number of exercises.
1. Introduction; 2. Introduction to functional programs; 3. Techniques and methods; 4. Types; 5. Lambda calculus; 6. Applicative implementation; 7. Lazy evaluation; 8. Implementation of lazy evaluation; 9. Correctness; 10. Applicative program transformation; 11. Parallel evaluation; Bibliography; Appendices; Index.
"...a very readable and understandable introduction to functional programming. It provides many concrete programming examples written in Haskell and discusses several design principles that seem to be unique to functional programming. I would recommend this book to all professional software developers for its discussion of software design using higher-order functions and streams. The book is perfect for an undergraduate course on functional programming. Haskell compilers are available from the research community, so students can get hands-on experience. Graduate students should be able to read this book on their own for an introduction to functional programming, the lambda calculus, polymorphic types, and combinatory logic." Reginald Meeson, ACM SIGPLAN Notices
![]() |
Ask a Question About this Product More... |
![]() |