Light Pattern (2012)


Light Pattern is a programming language expressed through photos rather than text source code. Changes in exposure and dominant color determine commands -- the language has no regard for the content of the images apart from these attributes. So, to write a Light Pattern program, you would take photos with these color changes in mind, rather than writing text of the "goto 10" variety (see the Hello, World program for an example).

Programming languages are denotative, lacking much of the nuance and bodily gesture of human expression -- it is a negotiation between human thinking and computer logic. The camera, likewise, has no regard for connotation -- it is an apparatus with no understanding of content, as pointed out by conceptual photographic work such as John Hilliard's Camera Recording Its Own Condition (1971). Light Pattern requires a programmer to take photos with technical considerations in mind. The content of the photos is irrelevant, inscrutable to the compiler. The pattern of color and exposure in the resulting photos make up the source code for a Light Pattern program.

Language specifications (on esolangs.org)

Download compiler (for Windows)





The apparatus pictured above was constructed to automate the construction of a specific Light Pattern program. The machine was left in my studio and presented to others to interact with as they wished. Most people, when a camera is pointed at them, perform for it in some way. The resulting pictures are compiled into a working program. The interaction by people with the camera has no effect on the final program.

View Hello, World program