Free Ebook Thinking Functionally with Haskell, by Richard Bird
Even we talk about the books Thinking Functionally With Haskell, By Richard Bird; you could not discover the printed publications below. So many compilations are provided in soft documents. It will exactly provide you more perks. Why? The first is that you might not need to lug the book anywhere by satisfying the bag with this Thinking Functionally With Haskell, By Richard Bird It is for the book is in soft documents, so you could wait in device. Then, you could open up the device almost everywhere and review the book correctly. Those are some few advantages that can be got. So, take all advantages of getting this soft file publication Thinking Functionally With Haskell, By Richard Bird in this web site by downloading in web link supplied.
Thinking Functionally with Haskell, by Richard Bird
Free Ebook Thinking Functionally with Haskell, by Richard Bird
Thinking Functionally With Haskell, By Richard Bird. Modification your behavior to hang or squander the moment to just talk with your friends. It is done by your everyday, do not you really feel bored? Now, we will reveal you the new practice that, really it's a very old routine to do that can make your life much more qualified. When feeling bored of constantly talking with your good friends all free time, you can discover guide qualify Thinking Functionally With Haskell, By Richard Bird and then read it.
This Thinking Functionally With Haskell, By Richard Bird is quite proper for you as novice viewers. The viewers will certainly consistently start their reading behavior with the preferred style. They might rule out the writer and publisher that develop the book. This is why, this book Thinking Functionally With Haskell, By Richard Bird is actually appropriate to check out. Nonetheless, the idea that is given in this book Thinking Functionally With Haskell, By Richard Bird will show you several points. You can start to love additionally checking out up until completion of the book Thinking Functionally With Haskell, By Richard Bird.
On top of that, we will share you the book Thinking Functionally With Haskell, By Richard Bird in soft data kinds. It will certainly not disrupt you making heavy of you bag. You need just computer system gadget or device. The web link that our company offer in this website is readily available to click and after that download this Thinking Functionally With Haskell, By Richard Bird You know, having soft documents of a book Thinking Functionally With Haskell, By Richard Bird to be in your gadget could make ease the readers. So this way, be a good user now!
Just attach to the internet to gain this book Thinking Functionally With Haskell, By Richard Bird This is why we indicate you to utilize and use the established modern technology. Checking out book doesn't indicate to bring the published Thinking Functionally With Haskell, By Richard Bird Created innovation has actually enabled you to check out only the soft documents of the book Thinking Functionally With Haskell, By Richard Bird It is very same. You might not need to go as well as get traditionally in browsing guide Thinking Functionally With Haskell, By Richard Bird You may not have adequate time to invest, may you? This is why we provide you the most effective way to get the book Thinking Functionally With Haskell, By Richard Bird now!
Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike.
- Sales Rank: #782582 in Books
- Published on: 2014-12-08
- Original language: English
- Number of items: 1
- Dimensions: 9.72" h x .79" w x 6.85" l,
- Binding: Paperback
- 354 pages
About the Author
Richard Bird is Emeritus Professor of Computer Science at Oxford University Computing Laboratory and a Fellow of Lincoln College, Oxford. He has authored many books, including Algebra of Programming (1996) and Pearls of Functional Algorithm Design (Cambridge University Press, 2010).
Most helpful customer reviews
36 of 39 people found the following review helpful.
Good self-study book for mature CS aficionados wanting to explore FP or Haskell
By P. Lepin
This is a very solid introductory textbook on both functional programming and Haskell as a language, and probably among the better ones on either topic -- with the caveat that I haven't read through everything that's on the market, including Bird's own prior textbooks.
The text reads smoothly, and is far less dry than Hutton's. This is not necessarily something you're looking for in a textbook, but I found this to be a pleasant departure from the common practice.
The approach taken here is heavy on equational reasoning, and the author is not afraid to delve into topics often perceived as arcane -- such as performance optimization of Haskell programs. The book does shy away from discussing rigorous methods for establishing asymptotic complexity under lazy evaluation, but that's probably a good thing in an introductory textbook, and you'd want to refer to Okasaki's PFDS or somesuch for the gory details anyway. Overall, the book takes more of a computer science-y approach, which I find to be slightly preferrable to the alternative "let's start hacking and think about getting out of the mess later" route, though some clever combination of the two might be superior to either.
Another win is that the fairly elaborate exercises come with full solutions by the author, printed at the end of each chapter. This makes Thinking Functionally superbly suited for self-study, but probably makes it less appropriate as a basis for a course at a brick-and-mortar school.
The book seems to expect a certain degree of mathematical maturity, and may be moving too fast for people without a couple of years of CS, math, EE or similar experience under their belt.
I have fairly lukewarm feelings about the book's occasional tendency to borrow features from the future without explaining those, but this doesn't seem like an oversight on the author's part, and more of a principled approach along the lines of "you don't need to understand the details right now, we'll get there eventually, but for now just trust me." I cannot attest whether this works for the target audience or not, as I was fairly familiar with most of the material covered already.
Lastly -- and this something of a pet peeve of mine -- I really rather hate the idea of discussing folds without even mentioning unfolds, but oh well. Let's face it, that's all too common anyway, and people live with it somehow. This is just about the only point where Hutton's book does win over Thinking Functionally.
22 of 24 people found the following review helpful.
equational reasoning: realizing the dream of algebraic-like manipulation of code
By Andre M. Van Meulebrouck
This book is an important landmark in the evolution of Haskell and functional programming.
When we speak of “functional” programming, we’re talking about mutation free computation: you can create all the new state you want; but you can’t mutate any existing state.
This has a number of advantages that don’t fall on deaf ears these days: one is that mutation free computations are automagically thread safe; which is music to the ears of anyone that’s had to grapple with threading, concurrency, or parallel programming issues.
However, another (perhaps more important consideration) is that when we don’t have mutation to worry about, we are free to do substitutions, and manipulate functions (a.k.a. “code”) in algebraic-like ways; and that is the focus of this book. Richard Bird is one of the pioneers of using equational reasoning to refactor existing code and to prove that one code expression is equivalent (or not equivalent) to a different code expression (wherein we are perhaps interested in reliability or improving performance without sacrificing semantic meaning). Or, to prove what a code expression really means; and to thereby be able to generalize it or otherwise reason about it.
If you are new to seeing code manipulated in algebraic-like ways, it can seem like black magic until one gets acclimated to thinking about code in a purely functional way; and Haskell, as a programming language, is uniquely suited to that task.
This book claims to be a replacement for other works, but it does not cover some material that was covered in past books which I consider very worthwhile.
In the way of disclosure I want to mention that I read this book cover to cover (including the index); but did not do any of the exercises (other than to read through them). I also read the following cover to cover: “Introduction to Functional Programming using Haskell second edition” (Bird) and “Algebra of Programming” (Bird, De Moor); both of which I thought were outstanding.
One criticism I have of this book is that in the last chapter’s concluding remarks, a pure functional style is recommended over monadic programming (especially when there is no concern about interacting with the outside world). That left me wanting more elaboration: there are many uses of monads; one being to “lift” partial functions to more sophisticated total counterparts (i.e. Maybe). Is there a “purely” functional equivalent for such purposes that is preferable to monads; or is that use of monads perfectly reasonable? (I presume the latter, but would have liked more discussion on the matter.) Also I would have liked to see more examples of how monadic programming can cause difficulties for equational reasoning that can be removed by refactoring to a more purely functional style. A past book did grapple with some negative aspects of monads (like the way they can cause problems when trying to compose them and enforce a coherent order in how things get evaluated). More material on the “sin bin” nature of monads and their potential overuse would be nice.
Another comment: I missed the material on bignums; albeit I think the approach taken in a prior publication was flawed because it didn’t “normalize” numbers from least significant (in head position) to most significant (which makes everything much harder, IMO).
I hope to see a sequel to this book as the author’s understanding (and the topic itself) evolve.
2 of 2 people found the following review helpful.
Book printed on tissue-thin paper is extremely difficult to read
By The Green Dasher
This is a very difficult book to read, physically. The publisher has chosen such thin inexpensive paper that printing from the reverse side of the page -always- intrudes (in reverse black blobs) on every single page you're trying to read. This is very distracting and makes the book a trial to read. It's a shame that Cambridge University Press has chosen such a cheap-skate route because it's clear this book has much to offer. And just for a few pennies. Shame.
Thinking Functionally with Haskell, by Richard Bird PDF
Thinking Functionally with Haskell, by Richard Bird EPub
Thinking Functionally with Haskell, by Richard Bird Doc
Thinking Functionally with Haskell, by Richard Bird iBooks
Thinking Functionally with Haskell, by Richard Bird rtf
Thinking Functionally with Haskell, by Richard Bird Mobipocket
Thinking Functionally with Haskell, by Richard Bird Kindle
No comments:
Post a Comment