X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=f37eaeb7ef4727fae5110db2caae6cf18c36bec9;hp=0db0d06d2cb84947c956323a1ae7191807a6601b;hb=e33cbd6c0daaa5186b1326ba339a6d22fda6a476;hpb=ff95f5a38d61a6fa0b9c5e4da4253a6a3266a7dc diff --git a/index.mdwn b/index.mdwn index 0db0d06d..f37eaeb7 100644 --- a/index.mdwn +++ b/index.mdwn @@ -2,102 +2,17 @@ or: **What Philosophers and Linguists Can Learn From Theoretical Computer Science But Didn't Know To Ask** -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 +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" and Philosophy calls it "G83.2296" +The seminar meets in spring 2015 on Thursdays from 4-7, in the Linguistics building at 10 Washington Place, in room 104 (back of the first floor). + + -## Announcements ## - -* 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]]. - -[[Older Announcements]] - -##[[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. - - -## Lecture Notes and Assignments ## - -(13 Sept) Lecture notes for [[Week1]]; [[Assignment1]]. - -> 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]] - -(27 Sept) Lecture notes for [[Week3]]; [[Assignment3]]; -an evaluator with the definitions used for homework 3 -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]] - - -(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: [[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]]; ... - -(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]]## - -There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with. +## Announcements ## ## Course Overview ## @@ -107,6 +22,7 @@ theoretical computer science and show how they can provide insight into established philosophical and linguistic problems. This is not a seminar about any particular technology or software. + Rather, it's about a variety of conceptual/logical ideas that have been developed in computer science and that linguists and philosophers ought to know, or may already be unknowingly trying to reinvent. @@ -137,11 +53,14 @@ especially in the fields of functional programming and type theory. Of necessity, this course will lay a lot of logical groundwork. But throughout we'll be aiming to mix that groundwork with real cases -in our home subjects where these tools play central roles. Our aim for the +in our home subjects where these tools play central roles. + +Our aim for the course is to enable you to make these tools your own; to have enough understanding of them to recognize them in use, use them yourself at least in simple ways, and to be able to read more about them when appropriate. + Faculty and students from outside of NYU Linguistics and Philosophy are welcome to audit, to the extent that this coheres well with the needs of our local @@ -227,6 +146,7 @@ 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. + ## Recommended Books ## @@ -272,7 +198,6 @@ superficial syntactic differences between these languages. [Here's a translation manual between them](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html). - ---- All wikis are supposed to have a [[SandBox]], so this one does too.