If you find this useful (or not), please let me know.
I assume that you are familiar with some programming language like C or python, and just desire to try Haskell for some reason.
Haskell has unique and surprising aspects that we will get into as we move along. You will almost certainly find that you will need to think about problems differently in order to write Haskell programs.
The differences are mind expanding. Even if you never write a useful Haskell program (and you very well might never do so), you will be better after wrestling with Haskell.
Haskell is very abstract, very high level, very mathematical. There are lots of new words and ideas, and it is my job to try to explain them.
These lies are not really helpful.
It is the exception, not the rule when somebody writes useful code.
Haskell is extremely abstract, mathematical, and challenging even
for people of above average intellect.
People do write actual useful code in Haskell, and they usually tell you how wonderful it is to do so. One of my complaints might be akin to what I might say about writing poetry in sanskrit. Very nice, but what about finding someone to maintain that code when you are gone? So I don't view Haskell as a useful tool to solve real problems, I view it as gymnastics to develop programming skills to use elsewhere. Here are two quotes to bear in mind.
I read recently that Newton described his work in science and mathematics as being like a child playing on the beach next to the ocean. He was simply doing what he enjoyed and exploring what he found in front of him. This is how I view Haskell and mathematics. It is all about enjoying myself and exploring.
The Haskell developers had the slogan "avoid success at all costs!". You can ponder for yourself exactly what this might mean.
A smart fellow that I greatly respect once said, "The problem with functional languages is that they don't function very well!" This comment has stood the test of time.
Your mileage may vary of course. I know a fellow who wrote code for an important project in LISP (and had coworkers who cursed him for doing so).
Tom's software pages / tom@mmto.org