For those who don't know about, or follow Impromptu, I've been beavering
away on a new environment called Extempore for the past two years.
I haven't talked a whole lot about Extempore as it's been in the
building stage, but it's now getting to the usable stage. Here is
a short video of an installation built recently using Extempore.
https://vimeo.com/58239256
There has been a bit of a trend in recent years for livecoding
environments to privilege ease-of-use and accessibility. Extempore
bucks this trend - it hates the web, doesn't clean up its own garbage,
forces you into type contortions, and generally expects you to know
what you're doing.
Instead Extempore aims to provide a completely hotswappable runtime
environment with a strong temporal semantics, flexible concurrency
architecture, builtin support for distributed heterogenous operation
(both OS and Architecture), and provides compiler-as-a-service
functionality.
Extempore includes a new programming language called xtlang, which
uses an s-expression syntax common to Lisp, and more particularly to
Scheme. xtlang also borrows many Lisp like semantics including first
class closures, tail recursion and macros. However, xtlang also
borrows heavily from systems languages like 'C' including static
typing, low-level type expressivity, direct pointer manipulation and
explicit memory managment (i.e. no GC). xtlang then extends these 'C'
semantics with type-inferencing, ad-hoc polymorphism, reified
generics, and zone/region based memory management.
In short it's a systems programming language with on-the-fly hot-swap
everything.
Extempore's core developed out of Impromptu - the origin of the xtlang
compiler actually shipped with Impromptu 2.5 in 2010. However
Extempore is a much more ambitious project with a more general focus
on real-time systems. Extempore is high-performance and designed for
full application-stack runtime compilation and on-the-fly (re)binding.
Here is an *old* screencast which gives a feel for this in an audio
context:
https://vimeo.com/21956071
The main reason for the post is that Ben Swift has started writing a
great series of tutorials which cover the Extempore basics and should
get anyone interested up and running. You can find his tutorials
online at:
http://benswift.me/extempore-docs/
Extempore runs on Linux, OSX and Windows 7 (8?), although we still
don't have proper delivery systems in place. So if you have trouble
with the build and install tutorials then send Ben or I an email and
we'll help you out. The audio infrastructure is currently quite
minimal so if you're looking to get involved in a new project working
on dsp and instrument building then we'd love to hear from you!
See you all in Europe in April!
Cheers,
Andrew.
http://extempore.moso.com.au
Received on Mon Jan 28 2013 - 11:27:57 GMT