Overview
Impromptu is a Mac OS X programming environment for live coding. Impromptu is built around the Scheme language, which is a member of the Lisp family of languages. The source code of its core has been opened as the Extempore project.
Description
The environment allows to make changes to a program at runtime, so variables and functions may be redefined and the changes take effect immediately. A programmer can also create and schedule code for future execution, as well as data events such as notes and graphics objects. Once an event is scheduled, execution continues. Looping is performed by using an idiom called "temporal recursion" which works by having a function asynchronously schedule a future call to itself as its final action.
The library allows communicating with Audio Units for audio synthesis, and with graphics layers such as QuickTime, Quartz, Core Image, OpenGL for video composition. Code written in Objective-C can be called from the editor, and also Objective-C frameworks can perform calls to the Scheme interpreter.
From Wikipedia (CC BY-SA 4.0).