SML vs Caml
[lambda.git] / index.mdwn
index ad2def6..0ae6d5e 100644 (file)
@@ -81,7 +81,7 @@ Other keywords:
        the Curry-Howard isomorphism(s)
        monads in category theory and computation
 -->
-       
+
 ## Who Can Participate? ##
 
 The course will not presume previous experience with programming.  We
@@ -90,15 +90,15 @@ languages, and we will encourage experimentation with running,
 modifying, and writing computer programs.
 
 The course will not presume lots of mathematical or logical background, either.
-However, it will demand a certain amount of comfort working with such material.
-And it wouldn't be especially well-suited to be a first graduate-level course
+However, it will demand a certain amount of comfort working with such material; as a result,
+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.
 
-It hasn't yet been decided whether this course counts for satisfying the logic requirement for 
+It hasn't yet been decided whether this course counts for satisfying the logic requirement for
 Philosophy PhD students.
 
-Faculty and students from outside of NYU Linguistics and Philosophy are wlecome
+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
 students.
 
@@ -125,7 +125,7 @@ family of programming languages. The other dialect is called "SML" and has
 several implementations. But Caml has only one active implementation,
 OCaml, developed by the INRIA academic group in France.
 
-*      Those of your with some programming background may have encountered a third
+*      Those of you with some programming background may have encountered a third
 prominent functional programming language, **Haskell**. This is also used a
 lot in the academic contexts we'll be working through. Its surface syntax
 differs from Caml, and there are various important things one can do in
@@ -135,13 +135,25 @@ familiar with one of them, it's not difficult to move between it and the
 other.
 
 [[How to get the programming languages running on your computer]]
-       
-## Recommended Readings ##
+
+[[Using the programming languages]]
+
+[[Family tree of functional programming languages]]
+
+## Recommended Books ##
 
 *      *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).
 
+*      (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
+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.)
+
+
 *   *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 is a classic text introducing the gentle art of programming, using the
@@ -158,13 +170,17 @@ on [Amazon](http://www.amazon.com/Seasoned-Schemer-Daniel-P-Friedman/dp/02625610
 on [Amazon](http://www.amazon.com/Little-MLer-Matthias-Felleisen/dp/026256114X).
 This covers some of the same introductory ground as The Little Schemer, but
 this time in ML. The dialect of ML used is SML, not OCaml, but there are only
-superficial syntactic differences between these languages.
+superficial syntactic differences between these languages. [Here's a translation
+manual between them](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html).
+
+##[[Schedule of Topics]]##
 
+##[[Lecture Notes]]##
 
+##[[Offsite Reading]]##
 
-## Schedule of Topics ##
+There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
 
-To be added.
 
 ----