index tweaks
[lambda.git] / index.mdwn
index a2b37cc..10df427 100644 (file)
@@ -2,65 +2,38 @@
 
 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."
-
+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.
 
 ## Announcements ##
 
-*      The seminar meets on Mondays from 4-6, in 
-the Linguistics building at 10 Washington Place, in room 104 (back of the first floor).
+<!--
+*      This is the time of the semester when some people start slipping
+behind with the homework.  Don't.
+-->
+
+*      We've added a page on [[Translating between OCaml Scheme and Haskell]]
+
+*      We've added some [commentary](/hints/assignment_6_commentary) on some common issues in your solutions to [[Assignment6]].
 
-*      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.
+*      We've added a [[Monad Library]] for OCaml.
 
-       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.
+*      We've posted a [[State Monad Tutorial]].
 
-*      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.  
+[[Older Announcements]]
 
-       There is also now a [library](/lambda_library) of lambda-calculus
+##[[Lambda Evaluator]]##
+
+Usable in your browser. It can help you check whether your answer to some of
+the homework questions works correctly.
+
+There is also now a [library](/lambda_library) of lambda-calculus
 arithmetical and list operations, some relatively advanced.
 
-       An evaluator with the definitions used for homework 3
-preloaded is available at [[assignment 3 evaluator]]. 
-
-*      Henceforth, unless we say otherwise, every homework will be "due" by
-Sunday morning after the Monday seminar in which we refer to it.
-(Usually we'll post the assignment shortly before the seminar, but don't
-rely on this.) However, for every assignment there will be a "grace
-period" of one further week for you to continue working on it if you
-have trouble and aren't able to complete the assignment to your
-satisfaction by the due date. You shouldn't hesitate to talk to us---or
-each other!---about the assignments when you do have trouble. We don't
-mind so much if you come across answers to the assignment when browsing
-the web, or the Little Schemer book, or anywhere. So long as you can
-reason yourself through the solutions and experience for yourself the
-insights they embody.
-
-       We reserve the privilege to ruthlessly require you to
-explain your solutions in conversations at any point, in section or in
-class.
-
-       You should always *aim* to complete the assignments by the "due" date,
-as this will fit best with the progress of the seminar.
-
-       The assignments will tend to be quite challenging. Again, you should by
-all means talk amongst yourselves, and to us, about strategies and
-questions that come up when working through them.
-
-       We will not always be able to predict accurately which problems are
-easy and which are hard.  If we misjudge, and choose a problem that is
-too hard for you to complete to your own satisfaction, it is still
-very much worthwhile (and very much appreciated) if you would explain
-what is difficult, what you tried, why what you tried didn't work, and
-what you think you need in order to solve the problem.
+##[[Monad Library]]##
 
 
 ## Lecture Notes and Assignments ##
@@ -75,22 +48,58 @@ what you think you need in order to solve the problem.
 
 (27 Sept) Lecture notes for [[Week3]];  [[Assignment3]];
 an evaluator with the definitions used for homework 3
-preloaded is available at [[assignment 3 evaluator]]. 
+preloaded is available at [[assignment 3 evaluator]].
 
 >      Topics: [[Evaluation Order]]; Recursion with Fixed Point Combinators
 
 (4 Oct) Lecture notes for [[Week4]]; [[Assignment4]].
 
->      Topics: More on Fixed Points; Sets; Aborting List Traversals; [[Implementing Trees]] 
+>      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]].
 
-(18 Oct) Lecture notes for [[Week5]] (in progress).
+>      Topics: Reader Monad for Jacobson's Variable-Free Semantics
 
->      Topics: Types, Polymorphism
+(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; [[State Monad Tutorial]]
+
+(22 Nov) Lecture notes for [[Week10]]
+
+>      Topics: Calculator Improvements, including mutation
+
+(30 Nov) Lecture notes for [[Week11]]; [[Assignment8]].
+
+>      Topics: [[Tree and List Zippers]]; [[Coroutines and Aborts]]; [[From List Zippers to Continuations]].
+
+(6 Dec) Lecture notes for [[Week12]]
+
+>      Topics: [[List Monad as Continuation Monad]]; [[Manipulating Trees with Monads]]; ...; [[Assignment9]].
+
+(13 Dec) Lecture notes for Week13
 
 [[Upcoming topics]]
 
-[Advanced Lambda Calculus Topics](/advanced_lambda)
+[[Advanced Topics]]
+
+>      Topics: Version 4 lists, Monads in Category Theory
+
+##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]]##
@@ -226,10 +235,13 @@ other. But these languages also have a lot in common, and if you're
 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]]
 
+[[Translating between OCaml Scheme and Haskell]]
+
 
 ## Recommended Books ##
 
@@ -246,7 +258,7 @@ both the Hankin book and this book, you'll notice the authors made some differen
 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).)
+*      (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).