From: Jim Date: Fri, 30 Jan 2015 22:31:10 +0000 (-0500) Subject: add info about getting scheme X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=f380d5eb63467c83106f6881d7443a78f35f861d add info about getting scheme --- 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 new file mode 100644 index 00000000..b4a49626 --- /dev/null +++ b/how_to_get_the_programming_languages_running_on_your_computer.mdwn @@ -0,0 +1,251 @@ +## 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: + +* Leopard (10.5) +* Snow Leopard (10.6) +* Lion (10.7) +* Mountain Lion (10.8) +* Mavericks (10.9) +* Yosemite (10.10) + +Furthermore, you'll be in one of two subgroups: + +* You'll have Apple's Xcode and the independent MacPorts system + installed. (Probably you don't. If you don't know what I'm talking about, you don't have these.) + + Xcode is available at + . Some versions of this have been available for free, though you do have to register with Apple as an "Apple Developer", which involves accepting a legal agreement with Apple. I have an older version of this installed. If you download a recent version, email me and let me know how the process works so I can tell others. There are instructions about how to get Xcode in the MacPorts installation guide (see below). + + + 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 + 3.12.8-extrastuff 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 3.12.8. + + + +## 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 "Common Lisp." 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, but then a few years ago 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.) + +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. + +Racket has several components. The two most visible components for us are a command-line interpreter named "racket" and a teaching-friendly editor/front-end named "DrRacket". You will probably be working primarily or wholly in the latter. + + + +* In your web browser: + + There is a (slow, bare-bones) version of Scheme available for online use at . + + +* **To install in Windows** + + Go to . Download and install the "Windows x64" version. (Or the "Windows x86" verson if you have an older, 32-bit system.) + +* **To install on Mac without MacPorts** + + Go to . Download and install the option for your system, most likely "Macintosh + OS X (Intel 64-bit)". + +* **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 racket + + It's very likely that your packaging system has some version of + 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 . + Choose the option for your version of Linux (Ubuntu and Debian 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. + + +*Will add more information about this soon.* + + diff --git a/index.mdwn b/index.mdwn index a362d492..b9b51802 100644 --- a/index.mdwn +++ b/index.mdwn @@ -24,6 +24,8 @@ As we mentioned in class, if you're following the course and would like to be em As we mentioned in class, we're also going to schedule a session to discuss the weekly homeworks. If you'd like to participate in this, please complete [this Doodle poll](http://doodle.com/7xrf4w8xq4i9e5za). It asks when you are available on Tuesdays and Wednesdays. +Here is information about [[How to get the programming languages running on your computer]]. + ## Course Overview ##