Getting Started

Re-running our experiments requires a specific Racket version but if your goal is simply to explore option contrats the easiest way is to download and install the latest Racket implementation. The Racket documentation comes with a section for the option contracts library. This section includes small examples that demonstrate the usage and behavior of the features of the library. Copy and paste these examples in DrRacket's definition window to replicate their results.

Running our experiments requires some additional setup steps.

Required OS/Hardware and Software. Our scripts assume using a standard Linux box (not BSD based Unix) and an in-place build of the source code of Racket. To achieve the in-place installation, install git on your machine and in the directory where you extract the artifact bundle, copy, paste and execute the following commands:

cd artifact

git clone git://git.racket-lang.org/plt.git

cd plt

git checkout a4cb954e274cf370ebc49f8ac4e84eaf94034c27

cd src

mkdir build

cd build

../configure

make

make install

Finally, our scripts are bash and Racket scripts. The latter do not require anything but a Racket installation, and the former use only standard Unix utilities such as sed, tee and bc (sed syntax is different between Linux and BSD and as a result this version of our scripts will not run correctly on a BSD machine). To make running the scripts easier, we assume that the artifact directory has a specific structure and the scripts use relative paths to find the pieces they need. Thus, it is important to preserve the structure of the bundle.

Step-by-step Instructions

* Expected results report experiments on an Intel Core i5-3550S CPU @ 3.00GHz x 4 with 4 GiB memory running 32-bit Ubuntu 12.10 and Racket 5.3.4.7.

Artifact Contents

After cloning the Racket source code from git, the extracted artifact folder should contain the following folders: