New Additions in 2.5:
- The Impromptu Compiler Runtime (ICR):
The main new addition for Impromptu v2.5 is a
completely new compiler architecture. The
compiler is a statically typed, type inferencing
compiler with support for closures, tail
recursion, memory zones etc.. Along with the
compiler are two new "code" AUs - an fx AU and
an instrument AU - both designed to support hot
swappable DSP kernels compiled at runtime. You
can find out more about the compiler and the
- Better CIImage Support - Improved
CoreImage support: In particular
gfx:image2image now supports coreimage in both
to and from positions. Additionally, you can now
render a CIImage directly to an opengl canvas,
which is significantly more efficient than
- New String Processing Functions:
There are a bunch of new native string
processing functions: string-join, string-split,
string-strip, string-replace, regex:match?,
regex:matched, regex:match-all, regex:replace
- Pattern Matching: Impromptu
now ships with the Andrew Wright's pattern
matching library. You can read the
library reference for details.
- Livecoding Error Hook: The
interpreter will now throw to an error hook
providing you with greater control over
exception handling. You initiate the livecoding
error hook by calling (sys:livecoding-error-hook
#t). Errors are then passed to the *livecoding-error-hook*
function - which you may rebind. By default the
function simply returns 1 but can be modified
for more specialised behaviour.
- Fixed the catastrophic memory allocation
problem discovered by Thor.
- Fixed some AU View bugs, particular related
to Komplete's new Cocoa AU Views.
Impromptu is a free
Mac OS X programming environment for composers,
sound artists, VJs 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.