- Series: Cambridge Computer Science Texts (Book 27)
- Paperback: 304 pages
- Publisher: Cambridge University Press; 1 edition (June 26, 1992)
- Language: English
- ISBN-10: 0521277248
- ISBN-13: 978-0521277242
- Product Dimensions: 6 x 0.7 x 9 inches
- Shipping Weight: 15.2 ounces (View shipping rates and policies)
- Average Customer Review: 5 customer reviews
- Amazon Best Sellers Rank: #2,441,542 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Introduction to Functional Programming Systems Using Haskell (Cambridge Computer Science Texts) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
Customers who bought this item also bought
"...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
The basic concepts of applicative programming are presented using the language HASKELL for examples. In addition to exploring the implications for parallelism, a discussion of lamda calculus and its relationship with SASL is included.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
To me, it seems to cover all basic contents of FP and has both theoretical background (eg. lambda calculus) and shows how the theory maps into Haskell.
However, to be able to actually create something useful with the language, I'd recommend to accompany this book with O'Reilly's Real World Haskell, which is much more practical and is focused more to Haskell itself. That said, RWH lacks the more deep theory behind FP, but together these two books make a powerful resource for future professional FP programmers.
Haskell has versatile syntax, allowing many different representations of any expression. It also supports high-order functions, or functions of functions. You'll also find a Prolog-like pattern matching facility (without the full capacity of Prolog's unification engine), which enables some kinds of overloading. The language supports "modules" as well, a limited kind of scoping mechanism intended to support programming in the large.
If "functional" programming is a term you haven't heard before, it means that, ideally, a program runs entirely in terms of expression evaluations without side effects - the program has no state except for transient state on its stack. This ultimately makes it a poor match to the real world. Even the ideas of storing a Haskell program on disk and holding its output pixels on screen violate the stateless paradigm, since that storage would be long-lived state. In the end, a functional programming language must violate its stateless purity to be relevant to commercial problem solving, or must leave state management to some part of the system outside of the language. The latter doesn't really solve the problem of state, it simply pushes the problem around - i.e. to some other programming language.
Haskell is an interesting exercise in language design, embodies many useful concepts from formal logic, and gives up many of the features that make it difficult to reason about programs in rigorous ways. It may have given up too much, though. When I try to picture using its techniques to solve systems of linear equations, write device drivers, or process a payroll, I end up with a very unpleasant image.