3 [[Week1]] (13 Sept) Applications; Basics of Lambda Calculus; Comparing Different Languages
5 Week2 (20 Sept) Reduction and Convertibility; Combinators; Evaluation Strategies and Normalization; Decidability; Lists and Numbers
7 Week3 (27 Sept) Recursion with Fixed Point Combinators
9 Introducing the notion of a "continuation", which technique we'll now already have used a few times
14 This is very sketchy at this point, but it should give a sense of our intended scope.
18 1. Product or record types, e.g. pairs and triples
19 2. Sum or variant types; tagged or "disjoint" unions
20 3. Maybe/option types; representing "out-of-band" values
23 6. Inductive types (numbers, lists)
24 7. "Pattern-matching" or type unpacking<p>
25 8. The simply-typed lambda calculus<p>
26 9. Parametric polymorphism, System F, "type inference"<p>
27 10. [Phil/ling application] inner/outer domain semantics for positive free logic
28 <!-- <http://philosophy.ucdavis.edu/antonelli/papers/pegasus-JPL.pdf> --><p>
29 11. [Phil/ling application] King vs Schiffer in King 2007, pp 103ff. [which paper?](http://rci.rutgers.edu/~jeffreck/pub.php)
30 12. [Phil/ling application] King and Pryor on that clauses, predicates vs singular property-designators
31 13. Possible excursion: [Frege's "On Concept and Object"](http://www.persiangig.com/pages/download/?dl=http://sahmir.persiangig.com/document/Frege%27s%20Articles/On%20Concept%20And%20object%20%28Jstore%29.pdf)<p>
32 14. Curry-Howard isomorphism between simply-typed lambda and intuitionistic propositional logic<p>
33 15. The types of continuations; continuations as first-class values
34 16. [Phil/ling application] Partee on whether NPs should be uniformly interpreted as generalized quantifiers, or instead "lifted" when necessary. Lifting = a CPS transform.
35 17. [Phil/ling application] Expletives<p>
37 * [de Groote on the lambda-mu calculus in linguistics](http://www.loria.fr/%7Edegroote/papers/amsterdam01.pdf)
38 * [on donkey anaphora and continuations](http://dx.doi.org/10.3765/sp.1.1)
39 * [Wadler on symmetric sequent calculi](http://homepages.inf.ed.ac.uk/wadler/papers/dual-reloaded/dual-reloaded.pdf)
42 ## Side-effects and mutation ##
44 1. What difference imperativity makes
45 2. Monads we've already seen, and the "monadic laws" [computer science version: Wadler](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)
46 3. Side-effects in a purely functional setting, via monads
47 4. The basis of monads in category theory
48 5. Other interesting monads: reader monad, continuation monad<p>
49 6. [Phil/ling application] Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs" [not sure which paper]
50 7. Montague / Ben-avi and Winter, [A modular approach to intensionality](http://citeseerx.ist.psu.edu/viewdocsummary?doi=10.1.1.73.6927)<p>
51 8. Passing by reference
52 9. [Phil/ling application] Fine and Pryor on "coordinated contents" (see, e.g., [Hyper-Evaluativity](http://www.jimpryor.net/research/papers/Hyper-Evaluativity.txt))
54 ## Continuations (continued) ##
56 1. Using CPS to handle abortive computations (think: presupposition failure, expressives)
57 2. Using CPS to do other handy things, e.g., coroutines
58 3. Making evaluation order explicit with continuations (could also be done earlier, but I think will be helpful to do after we've encountered mutation)
59 4. Delimited (quantifier scope) vs undelimited (expressives, presupposition) continuations
60 5. [Phil/ling application] [Barker/Shan on donkey anaphora](http://dx.doi.org/10.3765/sp.1.1)
62 ## Preemptively parallel computing and linear logic ##
64 1. Basics of parallel programming: semaphores/mutexes
65 2. Contrasting "preemptive" parallelism to "cooperative" parallelism (coroutines, above)
67 4. [Phil/ling application] Barker on free choice, imperatives