+## Identifying your system ##
+
+We'll assume you're using either Mac OS X, or Windows, or Linux.
+
+If you're using **Mac OS X**, take note of what version of the Mac OS you're
+running: "Tiger" 10.4, or "Leopard" 10.5, or "Snow Leopard" 10.6. Furthermore,
+you'll be in one of two subgroups:
+
+* You'll have Apple's Xcode and the independent MacPorts system
+ installed.
+
+ Xcode is available at
+ <http://developer.apple.com/technologies/tools/xcode.html>.
+ You have to register as an Apple Developer to download it. This
+ is free but requires you to accept a legal agreement with Apple.
+ The latest version of Xcode to work with Leopard is 3.14; more
+ recent versions require Snow Leopard.
+
+ The MacPorts system is available at
+ <http://www.macports.org/>.
+ This automates the building of Unix-type software on your Mac; it
+ makes it a lot easier to check for dependencies, use more-recent
+ versions of things, and so on.
+
+* Or you won't have those installed. (Most Mac users will be in this group.)
+ Then you'll need pre-packaged (and usually pretty GUI) installers for
+ everything. These are great when they're available and kept up-to-date;
+ however those conditions aren't always met.
+
+
+If you're using **Windows**, you'll be in one of two subgroups:
+
+* You'll have the Cygwin system
+ <http://www.cygwin.com/> installed.
+ This puts a Unix-like layer on top of your Windows system,
+ and makes it easier for you to use the same software everybody
+ else will be using, without its needing as much special-for-Windows
+ treatment. However, many of you won't have this installed.
+
+* You won't have Cygwin installed. You might in theory have
+ a different group of compilers installed (Microsoft Visual C++) but
+ we'll assume that the overwhelming majority of users in this group
+ don't have access to a compiler and need pre-packaged installers
+ for everything.
+
+If you're using **Linux**, you could be using any one of numerous packaging
+systems.
+
+* We'll give examples using the packaging system shared by Debian and Ubuntu,
+ and we'll assume that those of you using different packaging systems will know
+ how to make the relevant substitutions. You may also want to take note of the
+ output of the "uname -srm" command. On my machine this tells me "Linux
+ 2.6.35-ARCH x86\_64". That tells me I'm running the x86\_64 (as opposed to the
+ i686 or i386 or whatever) version of Linux, and that I'm running kernel
+ version 2.6.35.
+
+
+
+## PLEASE REPORT PROBLEMS (AND SOLUTIONS!) ##
+
+We haven't tested these instructions ourselves, and they're not explicit
+step-by-step instructions in any case. If you encounter troubles, please email
+to let us know so that we can amend the instructions to help others. If you
+figure out how to fix the problem youself (and please do), please also write
+with suggestions how we can change these instructions to make the process
+easier and more straightforward for others.
+
+
+## Getting Scheme ##
+
+**Scheme** is one of two major dialects of *Lisp*, which is a large family of
+programming languages. The other dialect is called "CommonLisp." 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
+their fundamentals, but have slightly different extensions and interact with
+the operating system differently. One major implementation used to be called
+PLT Scheme, and has just in the past few weeks changed their name to Racket.
+This is what we recommend you use. (If you're already using or comfortable with
+another Scheme implementation, though, there's no compelling reason to switch.)
+
+Since the name change is so recent, you're likely to run across both sets of names.
+
+PLT Scheme had several components. The two most visible components for us
+were the command-line interpreter "mzscheme" and a teaching-friendly editor/front-end "DrScheme". In
+Racket these have been renamed "racket" and "DrRacket",
+respectively.
+
+
+* **To install in Windows**
+
+ Go to <http://racket-lang.org/download/>. Download and install the "Windows x86" version.
+
+* **To install on Mac without MacPorts**
+
+ Go to <http://racket-lang.org/download/>. Download and install the option for your system, most likely "Macintosh
+ OS X (Intel)"
+
+* **To install on Mac with MacPorts**
+
+ You can install a command-line version of
+ PLT Scheme (dating from early 2009) by opening a Terminal
+ and typing:
+
+ sudo port install mzscheme
+
+ If you want the GUI components, I think you'll need to use the
+ "Mac/without MacPorts" installation options above.
+
+ I recommend also typing:
+
+ sudo port install rlwrap
+
+ then if you ever use the command-line program `mzscheme` (or `racket`), you should start it by typing `rlwrap mzscheme`. This gives
+ you a nice history of the commands you've already typed, which you can scroll up and down in with your
+ keyboard arrows.
+
+* **To install on Linux**
+
+ Use your packaging system, for example, open a Terminal and
+ type:
+
+ sudo apt-get install plt-scheme
+
+ It's very likely that your packaging system has some version of
+ PLT Scheme (or Racket) available, so look for it. However, if you can't find it you
+ can also install a pre-packaged binary from the Racket website at <http://racket-lang.org/download/>.
+ Choose the option for your version of Linux (Ubuntu, Debian, and two
+ varieties of Fedora are available).
+
+ As above, I recommend you also type:
+
+ sudo apt-get rlwrap
+
+ then if you ever use the command-line program `mzscheme` (or `racket`), you should start it by typing `rlwrap mzscheme`. This gives
+ you a nice history of the commands you've already typed, which you can scroll up and down in with your
+ keyboard arrows.
+
+
+## Getting OCaml ##
+
+**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, OCaml or
+Objective Caml, developed by the INRIA academic group in France.
+
+It's helpful if in addition to OCaml you also install the Findlib add-on.
+This will make it easier to install additional add-ons further down the road.
+However, if you're not able to get that working, don't worry about it much.
+
+
+* **To install in Windows**
+
+ Go to <http://caml.inria.fr/download.en.html>.
+ You can probably download and install the
+ "Self installer for the port based on the MinGW toolchain"
+ even if you don't know what MinGW or Cygwin are.
+ Some features of this require Cygwin, but it looks like
+ it should mostly work even for users without Cygwin.
+ At the time of this writing, only an installer for the previous
+ version of OCaml (3.11.0, from January 2010) is available.
+
+ To install the Findlib add-on, you must have the
+ Cygwin system installed. We assume few of you do,
+ so we're not going to try to explain how to do this.
+ If you want to figure it out yourself, go to the
+ Findlib website at <http://projects.camlcity.org/projects/findlib.html>.
+
+* **To install on Mac without MacPorts**
+
+ To install OCaml 3.12 (just released this summer), go to
+ <http://caml.inria.fr/download.en.html>
+ and download and install the "Binary distribution for Mac OS X"
+
+ To install the Findlib add-on, you'll need the Xcode development tools
+ to compile it yourself. Once you get that far, it's probably easiest
+ for you to install MacPorts and just install things using the MacPorts
+ instructions. (Use the MacPorts version of OCaml, instead of installing
+ the package from the caml.inria.fr website, as described above)
+ However, if you do have Xcode, and want to do without MacPorts, then
+ what you need to do is download Findlib from
+ <http://download.camlcity.org/download/findlib-1.2.6.tar.gz>.
+ Unpack the download, open a Terminal and go into the folder you just
+ unpacked, and type:
+
+ ./configure
+ make package-macosx
+
+ This will build an installer package which you should be able to
+ double-click and install.
+
+* **To install on Mac with MacPorts**
+
+ You can install the previous version of OCaml (3.11.2,
+ from January 2010), together with the Findlib add-on, by opening a Terminal
+ and typing:
+
+ sudo port install ocaml caml-findlib
+
+ As with Scheme, it's helpful to also have rlwrap installed, and to start OCaml as `rlwrap ocaml`. This gives
+ you a nice history of the commands you've already typed, which you can scroll up and down in with your
+ keyboard arrows.
+
+
+* [More details about installing OCaml on Macs, if needed](http://cocan.org/getting_started_with_ocaml_on_mac_os_x)
+
+* **To install on Linux**
+
+ Use your packaging system, for example, open a Terminal and
+ type:
+
+ sudo apt-get install ocaml ocaml-findlib
+
+ That will install a version of OCaml (probably 3.11.2, from January 2010)
+ and the Findlib add-on.
+
+ If for some reason you can't get OCaml through your
+ packaging system, you can go to
+ <http://caml.inria.fr/download.en.html>.
+ Pre-packaged binary installers are available for several Linux systems.
+
+ If you can't get findlib through your packaging system, you'll
+ need to download it from
+ <http://download.camlcity.org/download/findlib-1.2.6.tar.gz>.
+ and use gcc to compile it yourself. If you don't know how to
+ do that, you probably don't want to attempt this.
+ Here are the INSTALL notes:
+ <https://godirepo.camlcity.org/svn/lib-findlib/trunk/INSTALL>.
+
+ As with Scheme, it's helpful to also have rlwrap installed, and to start OCaml as `rlwrap ocaml`. This gives
+ you a nice history of the commands you've already typed, which you can scroll up and down in with your
+ keyboard arrows.
+