X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;f=schedule_of_topics.mdwn;h=f8e054e4347d1ca29c65294434c1daf8e87500ef;hb=24275ff28f0aab1b25c7d90ec10b1119dfda4acf;hp=eda1a1da6999aee2698ba4060e586ece8adad737;hpb=f07962f345d98c6de6c0d7e044573253014cf631;p=lambda.git diff --git a/schedule_of_topics.mdwn b/schedule_of_topics.mdwn index eda1a1da..f8e054e4 100644 --- a/schedule_of_topics.mdwn +++ b/schedule_of_topics.mdwn @@ -13,10 +13,10 @@ This is very sketchy at this point, but it should give a sense of our intended s ## The "pure" or untyped lambda calculus ## 1. Beta reduction -2. Subtitution; using alpha-conversion and other strategies +2. Substitution; using alpha-conversion and other strategies 3. Conversion versus Reduction 4. Eta reduction and "extensionality" -5. Different evaluation strategies +5. Different evaluation strategies (call by name, call by value, etc.) 6. Strongly normalizing vs weakly normalizing vs non-normalizing; Church-Rosser Theorem(s) 7. Encoding pairs (and triples and ...) @@ -28,7 +28,7 @@ This is very sketchy at this point, but it should give a sense of our intended s 13. Representing lists as folds 14. Typical higher-order functions: map, filter, fold -15. Recursion exploiting the fold-like representation of numbers and lists +15. Recursion exploiting the fold-like representation of numbers and lists (deforestation, zippers) 16. General recursion using omega 17. The Y combinator(s); more on evaluation strategies @@ -59,8 +59,14 @@ This is very sketchy at this point, but it should give a sense of our intended s 15. The types of continuations; continuations as first-class values 16. [Phil/ling application] Partee on whether NPs should be uniformly interpreted as generalized quantifiers, or instead "lifted" when necessary. Lifting = a CPS transform. +17. [Phil/ling application] Expletives -17. Dependent types +18. Some references: + * de Groote on the lambda-mu calculus in linguistics + * on donkey anaphora and continuations + * Wadler on symmetric sequent calculi + +19. Dependent types ## Side-effects and mutation ## @@ -70,19 +76,18 @@ This is very sketchy at this point, but it should give a sense of our intended s 4. The basis of monads in category theory 5. Other interesting monads: reader monad, continuation monad -6. [Phil/ling application] Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs" -7. Montague / Yoad Winter? (just have this written down in my notes, I assume Chris will remember the reference) +6. [Phil/ling application] Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs" [not sure which paper] +7. Montague / Ben-avi and Winter, [A modular approach to intensionality](http://citeseerx.ist.psu.edu/viewdocsummary?doi=10.1.1.73.6927) 8. Passing by reference -9. [Phil/ling application] Fine and Pryor or "coordinated contents" - +9. [Phil/ling application] Fine and Pryor on "coordinated contents" (see, e.g., [Hyper-Evaluativity](http://www.jimpryor.net/research/papers/Hyper-Evaluativity.txt) ## Continuations (continued) ## -1. Using CPS to handle abortive computations +1. Using CPS to handle abortive computations (think: presupposition failure, expressives) 2. Using CPS to do other handy things, e.g., coroutines 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) -4. Delimited continuations +4. Delimited (quantifier scope) vs undelimited (expressives, presupposition) continuations 5. [Phil/ling application] Barker/Shan on donkey anaphora @@ -91,6 +96,6 @@ This is very sketchy at this point, but it should give a sense of our intended s 1. Basics of parallel programming: semaphores/mutexes 2. Contrasting "preemptive" parallelism to "cooperative" parallelism (coroutines, above) 3. Linear logic -4. [Phil/ling application] Barker on free choice +4. [Phil/ling application] Barker on free choice, imperatives