by Andrew Fischer
A programming language for rapid prototyping

The goal of this project is to create a programming environment that is fun and efficient, where you can directly see and interact with the code you are editing.

There are two elements: Circa, a programming language; and Plastic, a cross-platform graphical tool for creating Circa code.

Features of Circa are:

  • Live coding. The user can examine and modify code while it is running. There's no need to restart the program to make changes.

  • Code is primarily saved as text, in a human-readable format that looks like a modern programming language.

  • Traditional visual programming (with a dataflow diagram that has lots of boxes and arrows) is supported.

  • Editing text files at runtime is also supported. The system can handle arbitrary changes to the source code of a running program. The current state of the program is preserved across a reload (as much as possible).

  • The format of compiled code is as canonical and simple as possible. It should be easy to introspect on code, and to reason about the code, without actually running it.

  • It should be easy to write tools which help the user create or modify code in novel ways. For example, imagine a drawing program, where the user clicks and drags to draw a square, and the end result is a small program with a "draw_square()" call.

Last updated 08/11/09
View Comments