|Instructor||Dr. J. Garrett Morris|
|Office hours||MW 1—3 PM, and by appointment|
|Lectures||Learned Hall 3151, 8:00—8:50 AM|
The syllabus is available here
|9/20||The homework 1 due date has been extended to 9/29.|
|9/19||Access to the solutions is now limited to students in the course. If you are enrolled in the course, you should be able to access the solutions using your KU ID. Please let me know if you have trouble.|
There will be a couple of Haskell labs this week and next week, scheduled as follows: These are optional sessions to review Haskell programming (and functional programming in general), and to answer any questions you may have.
If you would like to come to one of the labs, but cannot make any of the scheduled times, please get in touch (soon).
|9/6||Homework 0 solutions and homework 1 posted.|
|9/1||I'll be away from the 1st through the 10th of Septembers. Lectures on 9/6 and 9/8 will be delivered by Adam Petz.|
|8/23||Homework 0 has been updated: Aces in Blackjack are worth either 1 or 11 points, not either 1 or 10 points.|
|8/21||Homework 0 is posted!|
|8/19||There will be no office hours on Monday, August 21st. Office hours will resume as scheduled on Wednesday, August 23rd.|
|Number||Due date||Download||Sample solutions|
|0||Friday, September 1st, 8:00 AM||Hw0.hs||Hw0Solutions.hs|
|1||Friday, September 29th, 8:00 AM||
|Homework 0 out|
Arithmetic expressions and their interpretation
PLIH: "Arithemetic expression" and "Simple elaborator"
Type errors and type checking
Monadic notation for Maybe
PLIH: "Adding Booleans" and "Monadic redux"
Call-by-name and call-by-value (without calls yet)
Formal notation for evaluation
PLIH: "Formal systems" and "Adding identifiers"
PLIH: no readings.
|9/1||Types for functions
PLIH: "Function types"
|9/6||Substitutions and environments||Homework 1 out|
Substitutions and environments
PLIH: Adding environments
Currying and uncurrying
Notes on currying
Static and dynamic scope
Recursion and fixed points
PLIH: "Untyped recursion", "Typed recursion"
The unit type (see Stlc3.hs)
State as an effect
State as an effect (see Lcst1.hs)
Generalizing effects (see Lcst2.hs)