C0 | Specification and Verification in Introductory Computer Science
About Downloads Tutorial References Courses
C0 language Downloads (beta, binary-only) 15-122 Principles of Imperative Computation

Downloads

You may email the maintainer Frank Pfenning for information on the source distribution, or if you want to contribute binaries, documentation, or hints.

Older released binary distributions can be found here.

Mac OS X

Last updated February 1, 2013

Installation

On Mac OS X you will need Xcode, which should either be already installed, available for free download from Apple, or available from the App store (depending on your version of OS X).

After installing it, open Xcode, go to Preferences > Downloads and click on the "install" button next to "Command line tools".

Download and move to the directory you want to install in. Then, run

$ tar -xvzf cc0-*

Quick check of installation:

$ cd cc0
$ bin/cc0 -d doc/src/exp.c0 doc/src/exp-test.c0
$ ./a.out
All tests passed!
0

$ bin/coin -l conio doc/src/exp.c0
--> print("Hello World!\n");
Hello World!
--> exp(2,3);
8 (int)
--> #quit

You will also need to make sure libpng and zlib packages are installed; MacPorts is recommended for this purpose.

Linux

Last updated January 15, 2013

Installation

Same as for Mac OS X.

Windows

Last updated January 26, 2013

Installation

First, you need a standard Cygwin installation. Download the Cygwin installer from http://cygwin.com/install.html. Run the installer using standard paths (should install to C:\cygwin). Eventually, it will ask you which packages to install. Choose: gcc4-core, libpng15, libpng15-devel, tar, wget. The Cygwin installer will create a shortcut on the desktop which opens a Cygwin shell. If it fails, you can create a shortcut to C:\cygwin\bin\mintty.exe and change the "Start in" field to %USERPROFILE%.

To install cc0, you need to choose a location to install the cc0 package, e.x. /opt. Download and unpack the cc0 binaries:

$ cd /opt
$ wget http://c0.typesafety.net/dist/cc0-v0268-cygwin-bin.tgz
$ tar -xzvf cc0-v0268-cygwin-bin.tgz
$ rm cc0-v0268-cygwin-bin.tgz

Update your PATH to make cc0 available without specifying the path to the binaries:

$ echo 'export PATH=/opt/cc0/bin:$PATH' >> ~/.bashrc

After a restart of the Cygwin shell, cc0 should now be callable programs from Cygwin (bash).

$ cc0

A note on text editors

Terminal based editors (Emacs and Vim) can be installed by selecting the emacs or vim packages during the Cygwin installation process. Alternatively, GUI Emacs exists as a Windows binary (see http://ftp.gnu.org/gnu/emacs/windows/).

Emacs

The Windows command prompt has trouble interpreting some emacs keyboard shortcuts. To avoid this, ensure that you are starting Cygwin with c:\cygwin\bin\mintty.exe as the terminal.

c0_mode sytax highlighting can be added by adding as follows:

$ setx HOME "~USERPROFILE~"  # emacs will have trouble locating .emacs otherwise.
$ emacs ~/.emacs
(setq c0-root "/opt")  # If using Cygwin's emacs.
(setq c0-root "c:/cygwin/opt")  # If using standalone emacs.
(load (concat c0-root "/cc0/c0-mode/c0.el"))