[Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

Vyacheslav Akhmechet coffeemug at gmail.com
Mon Dec 11 10:57:59 EST 2006


The way to write the book, I think, would be to take something
referred to as "real world problems" - problems a large proportion of
programmers deals with and gets paid for, and then show how to solve
these problems in Haskell (preferrably quicker and easier than with
"conventional" solutions).

I would divide the book into two parts. The first part would introduce
Haskell via traditional small examples. Quick sort, towers of Hanoi,
etc. The second part would have two or three large examples -
something that people would relate to. I'd take a web application,
tetris, and perhaps a chat server.

Thanks,
 - Slava.

On 12/11/06, Kirsten Chevalier <catamorphism at gmail.com> wrote:
> On 12/11/06, Patrick Mulder <pemulder at yahoo.de> wrote:
> > In my opinion it would be important to increase the
> > understanding about "semantics" and "processes". And
> > it would be good to introduce the concepts in a
> > similar way as Profokiev introduces the sound of
> > classical music in "Peter and the Wolf". If my
> > suspicion is correct, functional programming would be
> > very close to composing classical music (or concurrent
> > algorithms and processes). Has anyone of you similar
> > thoughts on music and programming ?  What are the
> > basic ingredients for making abstractions (like in
> > music rythm, keys, tempo, ...) ? It would be useful to
> > express different ways of expression by explaining
> > first "semantics" of processes and abstractions.
> >
>
> I love the analogy, though it's been at least eleven years since I
> tried to compose any music. (Coincidentally, eleven years ago was when
> I learned to program...)
>
> I've often thought that reading code (if it's well-written code) is a
> little like reading a poem, which of course is also a little like
> listening to classical music. There's certainly a sense of rhythm
> involved in how you choose variable names: that's why nobody likes
> variable names like
> theHashTableThatStoresMappingsBetweenNamesAndEmails.
>
> I'm not sure what the analogy with keys would be. Maybe writing in a
> point-free versus a pointed style is sort of like transposing a melody
> into another key.
>
> For the potential book, I definitely think a Peter-and-the-Wolf-like
> idea is good. (The wolf would be unsafePerformIO, obviously.) Probably
> any metaphors that assume any knowledge of music should be left for a
> different piece of writing that assumes a different audience, but
> pursuing it would be fun. I've been thinking a lot lately about how to
> present computer science (and programming languages) to a popular
> audience, too. I don't remember who originally posed the question of
> "who's going to be the Carl Sagan of computer science?", but it's a
> question somebody should try to answer. (The answer isn't "Douglas
> Hofstadter", because obviously somebody needs to be out there
> explaining why languages with static type systems are cool, too.)
>
> Cheers,
> Kirsten
>
> --
> Kirsten Chevalier* chevalier at alum.wellesley.edu *Often in error, never in doubt
> "Are you aware that rushing toward a goal is a sublimated death wish? It's no
> coincidence we call them 'deadlines'." -- Tom Robbins
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list