Lula is a PC-based system for theater lighting. It consists of sophisticated software and a low-cost hardware component.

The Lula software models the design process of a theater lighting installation. The lighting designer can name the components and subcomponents of an installation and assemble them hierarchically into cues and lighting spaces. With this conceptual basis, the lighting designer can translate a director's lighting instructions into a sequence of cues very quickly. Offline operation is also possible. Changes to components of an installation automatically propagate through the system which makes later changes and fine-tuning extremely easy. Furthermore, Lula allows multiple simultaneous cues and manual intervention during a show.

Lula marks a considerable advance over conventional commercial systems which require a light designer to associate lights and cues herself.

Lula is an industrial-strength application written in Scheme, and exploits functional higher-order programming in many ways, among them the heavy use of inductive data structures, anonymous procedures, mixins, higher-order modules, mixins etc. etc. The version currently in development is based on Conal Elliott's functional reactive animation substrate, and allows the control of movement in lighting in a declarative way.

Also see the Lula home page at