X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=notes_and_schedule.mdwn;h=75f1e1aafd6acbb8c4106bf28288f4ed4e72217d;hp=628a960d7da0d496d228f5025ccb17892ce29952;hb=a6091ff85a6b7d595e04dfe698a81394b4beac85;hpb=545b8774052183ad91afd0b7dc741162af7ac405 diff --git a/notes_and_schedule.mdwn b/notes_and_schedule.mdwn index 628a960d..75f1e1aa 100644 --- a/notes_and_schedule.mdwn +++ b/notes_and_schedule.mdwn @@ -1,29 +1,18 @@ # Lecture Notes # -[[Week1]] (13 Sept) +[[Week1]] (13 Sept) Applications; Basics of Lambda Calculus; Comparing Different Languages + +Week2 (20 Sept) Reduction and Convertibility; Combinators; Evaluation Strategies and Normalization; Decidability; Lists and Numbers + +Week3 (27 Sept) Recursion with Fixed Point Combinators + +Introducing the notion of a "continuation", which technique we'll now already have used a few times # Still To Come # This is very sketchy at this point, but it should give a sense of our intended scope. -## More on the "pure" or untyped lambda calculus ## - -1. Eta reduction and "extensionality" -1. Different evaluation strategies (call by name, call by value, etc.) -1. Strongly normalizing vs weakly normalizing vs non-normalizing; Church-Rosser Theorem(s) -1. Lambda calculus compared to combinatorial logic

-1. Church-like encodings of numbers, defining addition and multiplication -1. Defining the predecessor function; alternate encodings for the numbers -1. Homogeneous sequences or "lists"; how they differ from pairs, triples, etc. -1. Representing lists as pairs -1. Representing lists as folds -1. Typical higher-order functions: map, filter, fold

-1. Recursion exploiting the fold-like representation of numbers and lists ([[!wikipedia Deforestation (computer science)]], [[!wikipedia Zipper (data structure)]]) -1. General recursion using omega -1. The Y combinator(s); more on evaluation strategies

-1. Introducing the notion of a "continuation", which technique we'll now already have used a few times - ## Types ## 1. Product or record types, e.g. pairs and triples