- #HASKELL FUNCTIONAL PROGRAMMING TUTORIAL CODE#
- #HASKELL FUNCTIONAL PROGRAMMING TUTORIAL LICENSE#
- #HASKELL FUNCTIONAL PROGRAMMING TUTORIAL ZIP#
Here are the source files and text for all examples for this tutorial, including all those in the sections and the large examples at the end, zipped using bzip2: bzip2 of sources, 28K, and zipped as a zip: zip of sources, 43K. Therefore, it doesn't seem necessary at the moment to include a zipped bundle of the tutorial text. In addition, a bundled version might quickly become out of date from minor corrections by site patrons. However, this wiki provides a "printable version" button and the tutorial is now one long page (which may be a poor design choice, we'll see). In the former form of this tutorial, I had a zipped version of the html files available at this point.
#HASKELL FUNCTIONAL PROGRAMMING TUTORIAL LICENSE#
For now, I assume I still hold the copyright on all of it, including the abstract (released in the license for this site). If he wishes, he may contact me regarding the legal status of this work. I have had no contact with Mark Evans, but since he did't contact me when he editted together this abstract from my work and posted it on lambda-the-ultimate, I doubt he'll care that I've taken that edit and used it as my abstract here. This abstract was pieced together by Mark Evans, here, from my own work.
There were good references, but they didn't cover the real problem: coders know C.
#HASKELL FUNCTIONAL PROGRAMMING TUTORIAL CODE#
"Haskell is hard!" "You can't write code the way I know how!" "My brain hurts!" "There aren't any good references!" That's what I said when I was in college. I wrote this tutorial because Haskell was very hard for me to learn, but now I love it. So I call Haskell powerful, rather than just 'good.' Nothing that I know of beats C's control, but Haskell has everything C does unless you need to control specific bytes in memory. Haskell has both more flexibility and more control than most languages. I needed breaks, and my brain hurt while I was trying to understand. I am going to put many pauses in this tutorial because learning Haskell hurt a lot, at least for me. Haskell is not 'a little different,' and will not 'take a little time.' It is very different and you cannot simply pick it up, although I hope that this tutorial will help. I write this assuming that you have checked out the Gentle Introduction to Haskell, but still don't understand what's going on. I am writing for you because it seems that no other tutorial was written to help students overcome the difficulty of moving from C/C++, Java, and the like to Haskell. This tutorial assumes that the reader is familiar with C/C++, Python, Java, or Pascal. For computer science students, Haskell is weird and abstruse. Many people are accustomed to imperative languagues, which include C, C++, Java, Python, and Pascal.