# 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<p>
-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<p>
-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<p>
-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