or: **What Philosophers and Linguists Can Learn From Theoretical Computer Science But Didn't Know To Ask**
-This course will be co-taught by [Chris Barker](http://homepages.nyu.edu/~cb125/) and [Jim Pryor](http://www.jimpryor.net/). Linguistics calls it "G61.3340-002" and Philosophy calls it "G83.2296-001."
-
-
-## Announcements ##
-
+This course is co-taught by [Chris Barker](http://homepages.nyu.edu/~cb125/) and [Jim Pryor](http://www.jimpryor.net/). Linguistics calls it "G61.3340-002" and Philosophy calls it "G83.2296-001."
The seminar meets on Mondays from 4-6, in
the Linguistics building at 10 Washington Place, in room 104 (back of the first floor).
+One student session will be held every Wednesday from 3-4 on the
+fourth floor at 10 Washington Place.
-One student session will be held every Wednesday from 3-4. The other will be arranged to fit the schedule of those who'd like to attend but can't make the Wednesday time. (We first proposed Tuesdays from 11-12, but this time turns out not to be so helpful.) If you're one of the students who wants to meet for Q&A at some other time in the week, let us know.
-
-You should see the student sessions as opportunities to clear up lingering issues from material we've discussed, and help get a better footing for what we'll be doing the next week. It would be smart to make a serious start on that week's homework, for instance, before the session.
-
-There is now a [[lambda evaluator]] you can use in your browser (no need to install any software).
-It can help you check whether your answer to some of the homework questions works correctly.
+## Announcements ##
-There is now a [library](/lambda_library) of lambda-calculus arithmetical and list operations, some relatively advanced.
+* This is the time of the semester when some people start slipping
+ behind with the homework. Don't.
-There's also a page of [[miscellaneous lambda challenges and advanced topics]].
+[[Older Announcements]]
+##[[Lambda Evaluator]]##
+Usable in your browser. It can help you check whether your answer to some of
+the homework questions works correctly.
-<!--
- To play around with a **typed lambda calculus**, which we'll look at later
- in the course, have a look at the [Penn Lambda Calculator](http://www.ling.upenn.edu/lambda/).
- This requires installing Java, but provides a number of tools for evaluating
- lambda expressions and other linguistic forms. (Mac users will most likely
- already have Java installed.)
--->
+There is also now a [library](/lambda_library) of lambda-calculus
+arithmetical and list operations, some relatively advanced.
## Lecture Notes and Assignments ##
(13 Sept) Lecture notes for [[Week1]]; [[Assignment1]].
-Topics: Applications; Basics of Lambda Calculus; Comparing Different Languages
+> Topics: [[Applications]], including [[Damn]]; Basics of Lambda Calculus; Comparing Different Languages
(20 Sept) Lecture notes for [[Week2]]; [[Assignment2]].
-Topics: Reduction and Convertibility; Combinators; Evaluation Strategies and Normalization; Decidability; Lists and Numbers
+> Topics: Reduction and Convertibility; Combinators; Evaluation Strategies and Normalization; Decidability; [[Lists and Numbers]]
-(27 Sept) Lecture notes for [[Week3]]; [[Assignment3]].
+(27 Sept) Lecture notes for [[Week3]]; [[Assignment3]];
+an evaluator with the definitions used for homework 3
+preloaded is available at [[assignment 3 evaluator]].
-Topics: Recursion with Fixed Point Combinators
+> Topics: [[Evaluation Order]]; Recursion with Fixed Point Combinators
-(4 Oct) Lecture notes for Week 4
+(4 Oct) Lecture notes for [[Week4]]; [[Assignment4]].
-<!-- Introducing the notion of a "continuation", which technique we'll now already have used a few times
--->
+> Topics: More on Fixed Points; Sets; Aborting List Traversals; [[Implementing Trees]]
+
+
+(18 Oct, 25 Oct) Lecture notes for [[Week5]] and [[Week6]]; [[Assignment5]].
+
+> Topics: Types, Polymorphism, Unit and Bottom
+
+(1 Nov) Lecture notes for [[Week7]]; [[Assignment6]].
+
+> Topics: Monads; [[Reader Monad for Variable Binding]]; [[Reader Monad for Intensionality]]
+
+(8 Nov) Lecture notes for [[Week8]].
+
+> Topics: Reader Monad for Jacobson's Variable-Free Semantics
+
+(15 Nov) Lecture notes for [[Week9]]; [[Assignment7]]. Everyone auditing in the class is encouraged to do this assignment, or at least work through the substantial "hints".
+
+> Topics: Mutable Variables; Passing by Reference
+
+(22 Nov) Lecture notes for [[Week10]]
+
+> Topics: Calculator Improvements, including mutation
+
+(30 Nov) Lecture notes for Week11; [[Assignment8]].
+
+> Topics: Zippers, Continuations
+
+(6 Dec) Lecture notes for Week12
+
+(13 Dec) Lecture notes for Week13
[[Upcoming topics]]
+[[Advanced Topics]]
+
+> Topics: Version 4 lists, Monads in Category Theory, Calculator Improvements
+
+##Scheme and OCaml##
+
+See [below](#installing) for how to get the programming languages running on your computer.
+
+* Links for help [[learning Scheme]]
+
+* Links for help [[learning OCaml]]
+
##[[Offsite Reading]]##
familiar with one of them, it's not difficult to move between it and the
other.
+<a name=installing></a>
[[How to get the programming languages running on your computer]]
[[Family tree of functional programming languages]]
* *An Introduction to Lambda Calculi for Computer Scientists*, by Chris
Hankin, currently $17 on
-[Amazon](http://www.amazon.com/Introduction-Lambda-Calculi-Computer-Scientists/dp/0954300653).
+[Amazon](http://www.amazon.com/dp/0954300653).
* (Another good book covering the same ground as the Hankin book, but
more thoroughly, and in a more mathematical style, is *Lambda-Calculus and Combinators:
-an Introduction*, by J. Roger Hindley and Jonathan P. Seldin. If you choose to read
+an Introduction*, by J. Roger Hindley and Jonathan P. Seldin, currently $52 on [Amazon](http://www.amazon.com/dp/0521898854). If you choose to read
both the Hankin book and this book, you'll notice the authors made some different
terminological/notational choices. At first, this makes comprehension slightly slower,
but in the long run it's helpful because it makes the arbitrariness of those choices more salient.)
+* (Another good book, covering some of the same ground as the previous two, but also delving much deeper into typed lambda calculi, is *Types and Programming Languages*, by Benjamin Pierce, currently $61 on [Amazon](http://www.amazon.com/dp/0262162091). This book has many examples in OCaml.)
* *The Little Schemer, Fourth Edition*, by Daniel P. Friedman and Matthias
Felleisen, currently $23 on [Amazon](http://www.amazon.com/exec/obidos/ASIN/0262560992).
This wiki is powered by [[ikiwiki]].
-[[Test]]