Introduction to Self-Adjusting Computation with CEAL

CEAL is a C-based language for self-adjusting computation. This course teaches participants about the CEAL language, self-adjusting computation and relevant programming language implementation concepts.



The following objectives reflect the goals of the course, when completed.

  1. Participants are expert users of the CEAL language:

    1. They understand how to write, compile, debug and measure the performance of CEAL programs.
  2. Participants have experience as developers of the CEAL language:

    1. Participants understand the organization of the CEAL compiler and run-time system. They can read the compiler and run-time system source code and explain what it's doing, and why it's doing it.
    2. Participants can build new tools for the system, extend the existing tools with new features, and fix existing issues in the system.

The CEAL compiler is written in OCaml and the run-time system is written in C. Obviously, understanding how to program in these languages is essential to understand, fix or extend the existing system. We can cover some aspects of these languages in the course, but to meet our goals above it will be essential that everyone takes responsibility for becoming familiar with those languages outside the course meetings.


The course meeting is on Mondays, starting at 3pm and lasting 1.5 hours. In addition, we will hold 15-minute weekly scrum meetings on Thursdays, at 11:30am. All meetings will be held in the 3rd floor KL conference room.

What is a scrum meeting? (See also :


November 21, 2011

Intro to CEAL


November 28, 2011

Simple recursive patterns


December 5, 2011

Program properties, representations

December 12, 2011

No class


December 19, 2011

Clarifying student questions



February 14, 2011

CEAL internals part 1


February 15, 2011

CEAL internals part 2


February 16, 2011

CEAL internals part 3

Schedule Conflicts


Two caveats:

  1. The files are quite large, but apparently compressing them makes the whiteboard writing impossible to read. So, for now these recordings will remain very high-resolution (and hence, very large in size).
  2. These files are currently only available to people on the MPI-SWS intranet.

Background Reading


CEAL_course (last edited 2012-02-24 15:58:26 by hammer)