Caml Lecture Information
- The Examples of Caml that were run in class. We pretty much just run through these as the lecture
- The PL Caml Lecture Notes - these are some older notes of mine with more explanations.
Our ML DialectThere are more ML dialects out there than you would believe. We are going to use OCaml, version 3.12 (any version from 3.06 on should be good enough for our purposes). OCaml is not completely compatible with the most standard dialect of ML, SML, but is nonetheless similar. It includes classes and objects, something not found in SML. I will often call OCaml just "Caml", you can view the two as synonyms.
Installing Caml on Your Machine
Caml is free and you should install it on your computer. Sources and binaries for Caml for Windows, MacOS, Linux, etc are found on the Caml downloads page.
Running Caml locally
Caml is available on all department UNIX machines via the shell command ocaml.
We strongly recommend you run Caml from something besides the shell directly.
- See information on running Caml inside Emacs to get going.
- Eclipse OCaIDE
- This is an Eclipse plugin for Caml which works very well. See information on using OCaIDE for more information.
- vim OMLet
- If you like vim, it now has a caml mode, OMLet. The above two modes are significantly better, all this mode offers is automatic indentation and keyword highlighting.
Caml Information on the WebHere is the key information
- The Caml Homepage
- The ultimate source for everything. The stuff below is all found off the homepage.
- The OCaml manual (download your local copy from the links at the top).
- Part I Chapter 1 is a brief but readable introduction to the core language. This will be our main reference. You may occasionally need to look at Part II, the reference manual, Part III for some commands, and Part IV for libraries (the core library docs are particularly useful for standard string, etc functions built into ocaml).
- Developing Applications with Objective Caml, by Emmanuel Chailloux, Pascal Manoury and Bruno Pagano.
- This is a complete on-line book covering OCaml. It was translated from the French by an ad-hoc group of people and so is less than perfect writing.
- Using, Understanding, and Unraveling The OCaml Language
- A foundational look at OCaml -- if you want to really understand the deep internal concepts of OCaml, this is the source.
- Introduction to Objective Caml by Jason Hickey
- A more tutorial introduction to Caml than the previous.
- for basic questions you may have. It is not very complete at this point so you may not find your answer here.
- Programming Guidelines
- Some standard coding conventions that are good to follow.