Jump to content

Impromptu (programming environment)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Digego (talk | contribs) at 01:12, 20 February 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
This article is about the programming language. For other uses, see Impromptu_(disambiguation).
Impromptu
ParadigmFunctional Multi-Paradigm
Designed byAndrew Sorensen
First appeared2005
Stable release
1.34
Typing disciplineDynamic
OSOSX
Websitehttp://impromptu.moso.com.au/

Impromptu is an OSX programming environment for composers, sound artists, VJ's and graphic artists with an interest in live or interactive programming. Impromptu is a Scheme language environment, a member of the Lisp family of languages.

It's key features are :

  • A fully dynamic Scheme environment. You can evaluate any portion of code in the builtin editor while the program is running, which means you can (re)define variables or function live, the changes take effect immediately.
  • Asynchronous timing. Impromptu allows a programmer to 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 it's final action.
  • Extensive library based on a tight integration with Mac OS X. Audio synthesis is done via Audio Units and graphics are drawn using either Core Image or OpenGL. You can also call Objective C code from the editor and call back into the Scheme interpreter from your own ObjC frameworks.
  • Impromptu's Scheme Interpreter was initially built from the TinyScheme 1.35 baseline. The interpreter has been substantially modified since the initial release.
  • Free to use, but not open-source.

See Also

References