CSE 341 - Programming Languages

Haskell and Functional Programming

Haskell will be a vehicle to discuss programming in a pure functional language, and static, polymorphic type systems and type inference.

Getting Started

Haskell Lecture Notes

The Haskell lectures notes with a .hs extension can all be run in Haskell -- if you want to run them, download them, and if necessary rename them to have just a .hs extension (not a .txt extension).

Haskell Books and Tutorials

There are a number of excellent Haskell tutorials. I recommend Learn You a Haskell for Great Good!. Yet Another Haskell Tutorial (local copy) is also very good (recommendation: read Chapters 2-9). Real World Haskell won't be a focus in this course -- but if you're curious how Haskell can be used in real-world applications check it out.

XKCD's view on Haskell

CamlBack: Online Tutorial System

The CamlBack system from UCLA lets you work through simple recursive problems and get instant feedback on your program. Give it a try! On the website, ignore the Username and Password, leave “Login as guest” checked, change the Language to Haskell, pick a Quiz, and click “Login”. Please let the instructor know if you have any feedback on this system, and I'll pass it on.

Other Haskell Information

The haskell.org website is the central starting point for all things Haskell. See in particular: