X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=40c9d473b954819a7e8629505df7b4721b01c1a1;hp=cbe3d8dc6887cd952172e0659c088fd88be7013a;hb=73b21c99d5a3f8184681a1fa1e0bb2b44ab4c34f;hpb=15c2b91484f22e7155f6c7ae6e3c493b306b6eb0 diff --git a/index.mdwn b/index.mdwn index cbe3d8dc..40c9d473 100644 --- a/index.mdwn +++ b/index.mdwn @@ -2,55 +2,28 @@ 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). + + +* We've added a page on [[Translating between OCaml Scheme and Haskell]] -* 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. - -* 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. +* We've added some [commentary](/hints/assignment_6_commentary) on some common issues in your solutions to [[Assignment6]]. + +* We've added a [[Monad Library]] for OCaml. + +* We've posted a [[State Monad Tutorial]]. + +[[Older Announcements]] ##[[Lambda Evaluator]]## @@ -60,6 +33,8 @@ the homework questions works correctly. There is also now a [library](/lambda_library) of lambda-calculus arithmetical and list operations, some relatively advanced. +##[[Monad Library]]## + ## Lecture Notes and Assignments ## @@ -73,25 +48,50 @@ arithmetical and list operations, some relatively advanced. (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 +> 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]]. -[[Upcoming topics]] +> Topics: Reader Monad for Jacobson's Variable-Free Semantics -[Advanced Lambda Calculus Topics](/advanced_lambda) +(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: Version 4 lists +> Topics: Mutable Variables; Passing by Reference; [[State Monad Tutorial]] (added recently) + +(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]]; [[Assignment9]]. + +> Topics: [[List Monad as Continuation Monad]]; [[Manipulating Trees with Monads]] (updated); [[Monad Transformers]] (added recently) + +(13 Dec) Lecture notes for Week13; [[Assignment10]]. + +> Topics: [[CPS and Continuation Operators]]; Curry-Howard + +[[Advanced Topics]] + +> Topics: Version 4 lists, Monads in Category Theory ##Scheme and OCaml## @@ -101,6 +101,8 @@ See [below](#installing) for how to get the programming languages running on you * Links for help [[learning OCaml]] +* [[Translating between OCaml Scheme and Haskell]] + ##[[Offsite Reading]]## @@ -240,6 +242,8 @@ other. [[Family tree of functional programming languages]] +[[Translating between OCaml Scheme and Haskell]] + ## Recommended Books ##