Haskell Notes: Spring 20

Back

The purpose of the readings from Scott's Programming Language Paramatics is to integrate concepts introduced in Haskell with broader issues in programming languages.  Some of the concepts will be revisited later.
You may use Learn You a Haskell for a Greater Good or Simon Thompson, Haskell: The Craft of Functional Programming to learn about Haskell.  
Additional resources:
A Brief Introduction to Haskell(ABI), Learn Haskell in 10 Minutes(10),An Introduction(Intro),  A Gentle Tutorial (AGT), and Yet Another Haskell Tutorial (YAHT also here) will be referenced.  Current GHC on line reference to Prelude Library Prelude library.  Language Report
History of Haskell
GoogleTechTalks: Haskell
FP Haskell CenterTM
Haskell Wiki page

Haskell

References

Read: Scott


  • Introduction to Functional Programming

  • Head's Helpful Hints
    Chap 1 & 2(Thompson)
    How to Read Haskell

    Hints and Help from the Haskell Community
    Why Study Functional Languages? (Intro)
    Chap: 11-11.2
    (pgs: 535 -539)
  • Simple Functions & Types
  • Chap 3,5 & 6

    The Prelude: a standard module imported by default into all Haskell modules


    Standard Haskell(2010) classes


    Chap: 8.5.1 pg 379 tree type in OCaml
    SimpleExample.lhs
    ExampleL.lhs
    Notes.lhs

    My notes on using GHCI

  • Lazy Evaluation
  • Tail Recursion
  • T: 17, 19
    Wiki:
    6.6(277-283), 9.3.2(433), 11.5(567-571)

  • Generic Programming and Haskell Classes
  • T: Chapter 12,13
    On: Classes
    Type Basics (Haskell WikiBook)
    7.1.1(300),
    3.5.2,3.6.2-3
    Tree  example
  • Some Prelude Functions
  • List Comprehension
  • T: Chapters 5.3,-5.5,7
    AGT: List Comprehension
    Performance Accumulating parameter 
    7.8 (pgs 364-367) PythonVsHaskell 
  • Higher Order Functions
  • Infinite Lists and iterate
  • T: Chapter 9,10,17.6-7
    T: 19.5
    Helpful interactive visualization of HOFs
    AGT: Functions
    Stack overflow
    11.5-6 (pgs 576-581) Check out:
    http://foldr.com and
    http://foldl.com
    Infinite.lhs
    PracticeF01.lhs
    Test.lhs
  • Reasoning About Programs
  •     Collatz 
  • Lambda Calculus
  •   11.7, 3.6.4
  • I/O
  • T: 18
  • 11.5.2 (pgs 571-575) IOExamples.lhs
  • Continuation Passing Style
  •   Chap 6.2.2 
    pgs 250-252
    CPS.lhs

     
     

    I wish to thank Prof. Lander for the use of his notes.
    *RQ = review questions at end of chapter
    Report any problems or comments.

    © 2006 Eileen Head