X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=upcoming_topics.mdwn;h=b92a228fa602b1aab2a2bed93869890fef16e466;hp=09b3286962f4933cc638237b442c3c2e075ebf09;hb=123164641debec4095fa8ce8303a41c8d88c7fbe;hpb=3cc38c05eaf8329c74c11a9df20a2ca8e30e563d diff --git a/upcoming_topics.mdwn b/upcoming_topics.mdwn index 09b32869..b92a228f 100644 --- a/upcoming_topics.mdwn +++ b/upcoming_topics.mdwn @@ -1,12 +1,5 @@ This is very sketchy at this point, but it should give a sense of our intended scope. -## Side-effects and mutation ## - -1. What difference imperativity makes -2. Side-effects in a purely functional setting, via monads -3. [Phil/ling application]Semantics for DPL, using state monad -4. Passing by reference -5. [Phil/ling application] Fine and Pryor on "coordinated contents" (see, e.g., [Hyper-Evaluativity](http://www.jimpryor.net/research/papers/Hyper-Evaluativity.txt)) 14. Curry-Howard isomorphism between simply-typed lambda and intuitionistic propositional logic

15. The types of continuations; continuations as first-class values @@ -15,8 +8,8 @@ This is very sketchy at this point, but it should give a sense of our intended s 0. [Phil/ling application] Partee on whether NPs should be uniformly interpreted as generalized quantifiers, or instead "lifted" when necessary. Lifting = a CPS transform. 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) +2. Using CPS to do other handy things, e.g., coroutines (cooperative threading) +3. Making evaluation order explicit with continuations 4. Delimited (quantifier scope) vs undelimited (expressives, presupposition) continuations 5. [Phil/ling application] [Barker/Shan on donkey anaphora](http://dx.doi.org/10.3765/sp.1.1) 6. The continuation monad @@ -25,7 +18,7 @@ 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 +3. Linear logic, "logical resource management" 4. [Phil/ling application] Barker on free choice, imperatives