Quick refresh of frontpage
[lambda.git] / index.mdwn
index 10df427..f37eaeb 100644 (file)
 
 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).
-One student session will be held every Wednesday from 3-4 on the
-fourth floor at 10 Washington Place.
-
-## Announcements ##
 
 <!--
-*      This is the time of the semester when some people start slipping
-behind with the homework.  Don't.
+One student session will be held every Wednesday from 3-4 on the
+fourth floor at 10 Washington Place.
 -->
 
-*      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]].
-
-*      We've added a [[Monad Library]] for OCaml.
-
-*      We've posted a [[State Monad Tutorial]].
-
-[[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.
-
-##[[Monad Library]]##
-
-
-## 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; [[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 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]]##
-
-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 ##
@@ -115,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.
@@ -145,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.
 
+<!--
 Once we get up and running, the central focii of the course will be
 **continuations**, **types**, and **monads**. One of the on-going themes will
 concern evaluation order and issues about how computations (inferences,
@@ -167,7 +78,6 @@ The logical systems we'll be looking at include:
 *      if time permits, "indeterministic" or "preemptively parallel" computation and linear logic
 
 
-<!--
 Other keywords:
        recursion using the Y-combinator
        evaluation-order stratgies
@@ -189,6 +99,7 @@ it will not be especially well-suited to be a first graduate-level course
 in formal semantics or philosophy of language. If you have concerns about your
 background, come discuss them with us.
 
+<!--
 This class will count as satisfying the logic requirement for Philosophy
 PhD students; however if this would be your first or only serious
 engagement with graduate-level formal work you should consider
@@ -196,7 +107,7 @@ carefully, and must discuss with us, (1) whether you'll be adequately
 prepared for this course, and (2) whether you'd be better served by
 taking a logic course (at a neighboring department, or at NYU next year)
 with a more canonical syllabus.
-
+-->
 
 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
@@ -235,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.
 
+<!--
 <a name=installing></a>
 [[How to get the programming languages running on your computer]]
 
@@ -242,6 +154,12 @@ other.
 
 [[Translating between OCaml Scheme and Haskell]]
 
+## What is Functional Programming? ##
+
+Here's a [survey conducted at Microsoft](http://research.microsoft.com/apps/pubs/default.aspx?id=141506) asking programmers what they understand "functional programming" to be. Don't take their responses to be authoritative... this is a just a "man in the street" (seat?) poll.
+
+Read more about the [uptake of Haskell](http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html) among programmers in the street.
+-->
 
 ## Recommended Books ##
 
@@ -280,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.