fromlists... -> fromlistzippers...
[lambda.git] / how_to_get_the_programming_languages_running_on_your_computer.mdwn
index eb27a7f..0cb4f78 100644 (file)
@@ -10,14 +10,14 @@ you'll be in one of two subgroups:
        installed.
 
        Xcode is available at
-       <http://developer.apple.com/technologies/tools/xcode.html>
+       <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/>
+       <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.
@@ -26,12 +26,12 @@ you'll be in one of two subgroups:
        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 installed:
-       <http://www.cygwin.com/>
+*      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
@@ -50,7 +50,7 @@ systems.
        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
+       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.
 
@@ -69,7 +69,7 @@ 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
+programming languages. The other dialect is called "Common Lisp." Scheme is the
 more clean and minimalistic dialect, and is what's mostly used in academic
 circles.
 
@@ -82,11 +82,17 @@ 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 three salient components: the command-line version "mzscheme", a
-GUI extension "MrEd", and a teaching-friendly editor/front-end "DrScheme". In
-Racket these have been renamed "racket", "gracket", and "DrRacket",
+PLT/Racket stands to Scheme in something like the relation Firefox stands to HTML. It's one program among others for working with the language; and many of those programs (or web browsers) permit different extensions, have small variations, and so on.
+
+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.
 
+*      In your web browser:
+
+       There is a (slow, bare-bones) version of Scheme available for online use at <http://tryscheme.sourceforge.net/>.
+
 
 *      **To install in Windows**
 
@@ -108,6 +114,14 @@ respectively.
        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
@@ -116,18 +130,26 @@ respectively.
                 sudo apt-get install plt-scheme
 
        It's very likely that your packaging system has some version of
-       PLT Scheme available, so look for it. However, if you can't find it you
-       can also install a pre-packaged binary from the Racket website: <http://racket-lang.org/download/>
+       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)
+       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, developed
-by the INRIA academic group in France.
+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.
@@ -149,11 +171,11 @@ However, if you're not able to get that working, don't worry about it much.
        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: <http://projects.camlcity.org/projects/findlib.html>.
+       Findlib website at <http://projects.camlcity.org/projects/findlib.html>.
 
 *      **To install on Mac without MacPorts**
 
-       To install OCaml 3.12 (just released the summer), go to:
+       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"
 
@@ -163,8 +185,8 @@ However, if you're not able to get that working, don't worry about it much.
        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>
+       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:
 
@@ -173,7 +195,7 @@ However, if you're not able to get that working, don't worry about it much.
 
        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,
@@ -182,6 +204,13 @@ However, if you're not able to get that working, don't worry about it much.
 
                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
@@ -193,15 +222,19 @@ However, if you're not able to get that working, don't worry about it much.
        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>
+       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>
+       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>
+       <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.