Lula is a system for computer-assisted stage lighting design and
control. Whereas other systems for the same purpose are usually the
results of long chains of incremental improvements of historic
concepts, Lula represents a complete redesign. Whereas other systems
focus on control aspects of lighting, Lula focuses on design and
generates control information from it. This approach gives
significantly more flexibility to the lighting designer and shortens
the design process itself.
Lula's design and implementation draw from a number of disciplines in
advanced programming, specifically functional programming. It is
written in Scheme and runs atop PLT Scheme, and benefits from its
high-level GUI library. Lula uses an algebraic model for lighting
looks based on just three combinators. It employs Functional Reactive
Programming for all dynamic aspects of lighting, and is
user-programmable via a functional-reactive domain-specific language.
Lula is an actual product and has users who have neither interest in
nor knowledge of functional programming.