Jump to ratings and reviews
Rate this book

The Haskell School of Expression: Learning Functional Programming through Multimedia

Rate this book
Functional programming is a style of programming that emphasizes the use of functions (in contrast to object-oriented programming, which emphasizes the use of objects). It has become popular in recent years because of its simplicity, conciseness, and clarity. This book teaches functional programming as a way of thinking and problem solving, using Haskell, the most popular purely functional language. Rather than using the conventional (boring) mathematical examples commonly found in other programming language textbooks, the author uses examples drawn from multimedia applications, including graphics, animation, and computer music, thus rewarding the reader with working programs for inherently more interesting applications. Aimed at both beginning and advanced programmers, this tutorial begins with a gentle introduction to functional programming and moves rapidly on to more advanced topics. Details about progamming in Haskell are presented in boxes throughout the text so they can be easily found and referred to.

382 pages, Paperback

First published February 1, 2000

18 people are currently reading
203 people want to read

About the author

Paul Hudak

6 books6 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
22 (20%)
4 stars
37 (34%)
3 stars
37 (34%)
2 stars
9 (8%)
1 star
1 (<1%)
Displaying 1 - 6 of 6 reviews
Profile Image for Robert.
99 reviews8 followers
December 11, 2008
So far this book seems an excellent introduction to Haskell (the programming language), and to functional programming in general. The "multimedia" programming described in teh book—drawing simple shapes and interactive graphics—is not so exciting or useful, and I wonder whether some of these ideas would be better demonstrated in terms of one of the Haskell Open GL libraries. That said, I think his framework of thought around Multimedia conceived as time-varying Behaviors, interactive multimedia as stream processing, etc., is very interesting. There is a really interesting paper by the author from 2003 called "An Algebraic Theory of Polymorphic Temporal Media " which elaborates on some of the multimedia ideas set out in this book, and might provide a good starting point for writing an actual DSL for multimedia art production. (my interest!)
Profile Image for Salim.
261 reviews3 followers
December 15, 2007
I only got a few pages into this book before the author took the definition of "abstract" wholesale from the dictionary. That's the cue to cut my losses. I do not need a glorified pull quote to tell me about non-technical vocabulary.

Up to that point, about fifteen pages past the introduction, things were going swimmingly: the author explained the relationship between Haskell [Brooks Curry, the mathematician] and the Curry School of Expression; the importance (value and place) of a pure-functional language, as opposed to an object-oriented one; and why Haskell was more eminently useful than ML or Lisp.
I put the book down, but perhaps I will pick it up again sometime this weekend. The code samples and illustrations failed to excite me, as the author's premise is that real-world programs related to graphics and animation would be more stirring that mathematics. As if!
Profile Image for Ondrej Sykora.
Author 4 books15 followers
May 24, 2015
All in all, it's not a bad book about haskell, but I don't know who is the intended audience. If I had to sum it up, I'd say this is an introduction to programming for mathematicians - or at least for people who know what a monoid is.

The "multimedia" part is also a bit deceptive... Unless you consider moving ellipses and defining an algebra for composing music to be multimedia.

On the other hand, if you know what a monoid is and you enjoy the "algebra" part more than the "music", this is a nice book about Haskell and it explains the basic principles of functional programming (including Monads and other more advanced concepts) in a way that is logically structured and easy to understand.
1 review1 follower
February 8, 2008
Excellent book for learning functional programming with Haskell. The culmination of this book is Reactive Programming. However, the streaming technique is relatively old, requires a hack to evade space leak, and by now is considered a bad idea generally. Nowadays one uses arrow approach to reactive programming. Nonetheless, this book remains one of the best on learning Haskell and functional programming in general.
16 reviews2 followers
March 23, 2012
Wonderful introduction to Haskell, at least for me. Being interested in programming languages in general, I find the author's take on domain specific languages worth reading. I'm also interested in computer music, and the material on that was fun. The book is generally well-written and easy to understand, but I couldn't say for sure if someone with little CS background would agree. For my purposes, though, a fantastic introduction to a powerful, expressive language.
Displaying 1 - 6 of 6 reviews

Can't find what you're looking for?

Get help and learn more about the design.