Overview: You have two somewhat orthogonal choices: * Use the "Seminal" version of the OCaml compiler or the "normal" version * Run on a department Linux machine or on your own machine We would prefer you use the "Seminal" version on a department Linux machine, but this is not required and you should understand your files will be saved and looked at later for research purposes. Using the "Seminal" version on your own machine will require you contacting Ben Lerner (blerner@cs). Seminal OCaml at UW ------------------- Seminal is a research prototype of a new system for generating better error messages for the OCaml language, developed by Ben Lerner (blerner@cs) and Dan. By using Seminal this quarter, you can help them with their research -- and have an easier time of learning OCaml. Three-step set-it & forget-it method: 1) Make sure uns is in your path (see below). 2) alias ocamlc to '/uns/bin/sem_ocamlc -seminal' 3) Use ocamlc exactly as you might have before. More details: The department Linux machines are the easiest and recommended way to use Seminal. It is installed on uns (/uns/bin/sem_ocamlc). For help setting up uns, see the uns FAQ http://www2.cs.washington.edu/uns/faq/uns-user-faq.html#q3.1 Sem_ocamlc does two things differently than the standard ocamlc: * Every time your program does not compile, it records a backup copy of the file in a centralized location: /projects/swlab8/blerner/cse505_06au/ The files are named -.seminal.html, so it is highly unlikely that anyone will be able to find and read your files. Additionally, the comments in your files will be stripped out, so that (* the following *) becomes (* ############# *). Finally, when the files are all collected, Ben will separate the files by username, and rename them, so all he will know is which files came from a single student. And yet more finally, Dan and Anna will not look at these files until the course is over, so participation will have no impact on your performance in the course. * Additionally, if you run sem_ocamlc with the -seminal command-line flag, it will present you with the new style of generated error messages. This is the recommended usage of Seminal. The old style of error message precedes the new style so you are getting strictly more information. If you are concerned about what the backup files contain, a reminder message is printed in each compilation, telling you what the unique filename is for that session. You can look at the file and remove it if absolutely necessary, but *please* do not edit them or delete them unnecessarily. Feel free to email Ben with any questions or bug reports. Final note: For license reasons, the Seminal version as currently distributed should not be made publicly available. Normal OCaml at UW ------------------ Here are some notes on installing OCaml. Be warned that I (Anna) have only installed it on MAC OSX 10.4.7 and on Windows (using Cygwin). Using any remotely recent version of Caml is fine. Nothing we do should depend on a particular version. Feel free to email me (Anna) or Dan if you have any problems or questions. - On the department Linux machines OCaml is installed on uns (/uns/bin/ocaml, /uns/bin/ocamlc). For help setting up uns see the uns FAQ http://www2.cs.washington.edu/uns/faq/uns-user-faq.html#q3.1 - On Linux: If you run Debian just run 'apt-get install ocaml'. Otherwise, the Caml website (http://caml.inria.fr/download.en.html) has both source and binary downloads for Linux. - On Windows Caml can be downloaded from the Caml website (http://caml.inria.fr/download.en.html). The easiest way to install is to download the Windows binary and run the installer. It requires some Microsoft development tools or Cygwin (http://www.cygwin.com/). If you need to install Cygwin, there is also an option for selecting Caml when installing Cygwin packages. - On Macs: The Caml website (http://caml.inria.fr/download.en.html) has both source and binary downloads for OSX. ----------------------------------------- Running ocaml: ocaml: The read/eval/print loop for Caml ocamlc: The Caml byte code compiler (see esp. the -i and -c options and with the Seminal version, -seminal) ocamlopt: The Caml native code compiler For further information, see the man pages and part III of the system manual: http://caml.inria.fr/pub/docs/manual-ocaml/index.html