6. Strongly normalizing vs weakly normalizing vs non-normalizing; Church-Rosser Theorem(s)
7. Encoding pairs (and triples and ...)
6. Strongly normalizing vs weakly normalizing vs non-normalizing; Church-Rosser Theorem(s)
7. Encoding pairs (and triples and ...)
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
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
5. Other interesting monads: reader monad, continuation monad
6. [Phil/ling application] Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs"
5. Other interesting monads: reader monad, continuation monad
6. [Phil/ling application] Monsters and context-shifting, e.g. Gillies/von Fintel on "ifs"
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)
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)
1. Basics of parallel programming: semaphores/mutexes
2. Contrasting "preemptive" parallelism to "cooperative" parallelism (coroutines, above)
3. Linear logic
1. Basics of parallel programming: semaphores/mutexes
2. Contrasting "preemptive" parallelism to "cooperative" parallelism (coroutines, above)
3. Linear logic