X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=index.mdwn;h=92a80ae82830f06a534684e11b7246a2411a47d3;hp=74aaddf96e792d606cfb48fcac3f65926b386212;hb=5bc80f50278a294d44dc9325452f54fb5c24b142;hpb=d84080ee53c691870c5a8cf462e08bcc5b888104 diff --git a/index.mdwn b/index.mdwn index 74aaddf9..92a80ae8 100644 --- a/index.mdwn +++ b/index.mdwn @@ -20,7 +20,19 @@ All students are invited to help us schedule, and then participate in, a regular [[Assignment1]] -## Overview ## + +##[[Notes and Schedule]]## + +[[Using the programming languages]] + + +##[[Offsite Reading]]## + +There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with. + + + +## Course Overview ## The goal of this seminar is to introduce concepts and techniques from theoretical computer science and show how they can provide insight @@ -122,7 +134,7 @@ and Caml, which are prominent *functional programming languages*. We'll explain what that means during the course. * **Scheme** is one of two major dialects of *Lisp*, which is a large family -of programming languages. The other dialect is called "Common Lisp." Scheme +of programming languages. Scheme is the more clean and minimalistic dialect, and is what's mostly used in academic circles. Scheme itself has umpteen different "implementations", which share most of @@ -135,8 +147,7 @@ another Scheme implementation, though, there's no compelling reason to switch.) Racket stands to Scheme in something like the relation Firefox stands to HTML. * **Caml** is one of two major dialects of *ML*, which is another large -family of programming languages. The other dialect is called "SML" and has -several implementations. But Caml has only one active implementation, +family of programming languages. Caml has only one active implementation, OCaml, developed by the INRIA academic group in France. * Those of you with some programming background may have encountered a third @@ -150,12 +161,13 @@ other. [[How to get the programming languages running on your computer]] -[[Using the programming languages]] - [[Family tree of functional programming languages]] + ## Recommended Books ## +It's not necessary to purchase these for the class. But they are good ways to get a more thorough and solid understanding of some of the more basic conceptual tools we'll be using. + * *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). @@ -183,17 +195,10 @@ on [Amazon](http://www.amazon.com/Seasoned-Schemer-Daniel-P-Friedman/dp/02625610 * *The Little MLer*, by Matthias Felleisen and Daniel P. Friedman, currently $27 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 +this time in ML. It uses another dialect of ML (called SML), instead of OCaml, but there are only 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]]## - -There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with. ----