X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=how_to_get_the_programming_languages_running_on_your_computer.mdwn;h=546cf2c33de2e448fa6d89a33a4f3acfec6668d5;hp=345e6aef713208c8d50cdea23b85e6ad831f0449;hb=65c4940465849cec781af344fb6f817df3a28c20;hpb=ce89df097ec6f487527091cfad44968c621ac6e7;ds=sidebyside diff --git a/how_to_get_the_programming_languages_running_on_your_computer.mdwn b/how_to_get_the_programming_languages_running_on_your_computer.mdwn index 345e6aef..546cf2c3 100644 --- a/how_to_get_the_programming_languages_running_on_your_computer.mdwn +++ b/how_to_get_the_programming_languages_running_on_your_computer.mdwn @@ -1 +1,209 @@ -Test +## 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 + . + 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 + . + 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 + 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 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", +respectively. + + +* **To install in Windows** + + Go to . Download and install the "Windows x86" version. + +* **To install on Mac without MacPorts** + + Go to . 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. + +* **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 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 . + Choose the option for your version of Linux (Ubuntu, Debian, and two + varieties of Fedora are available) + + +## 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 . + 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 . + +* **To install on Mac without MacPorts** + + To install OCaml 3.12 (just released this summer), go to + + 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 + . + 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 + +* [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 + . + 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 + . + 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: + . +