Live Coding in Creative Performance Programming in Time Tuesday, December 10, 13
Algorave? Tuesday, December 10, 13
Tuesday, December 10, 13
Experimental Programming A Lisp Tradition The average Lisp user writes a program as a programming experiment, i.e.., in order to develop the understanding of some task, rather than in expectation of production use of the program. Erik Sandewall 1978 Tuesday, December 10, 13
Just-In-Time Programming ... the goal of just in time programming is to allow users to profit from their task-time algorithmic insights by programming. Instead of automating with software what was carefully designed and implemented much earlier, the user recognises an algorithm and then creates the software to take advantage of it just before it is needed, hence implementing it just in time. Richard Potter 1993 Tuesday, December 10, 13
Live Programming In our vision, the Self programmer lives and acts in a consistent and malleable world, from the concrete motor-sensory, to the abstract, intellectual levels. Randal B. Smith & David Ungar 1995 Tuesday, December 10, 13
Make Some Noise! Tuesday, December 10, 13
Extempore • Strongly Timed (temporal semantics) • Distributed & Heterogenous • Concurrent (layered) • Wide (full-stack - hot-swappable) • High Performance & Deterministic Tuesday, December 10, 13
Extempore is a Lisp • s-expression syntax (Lisp) • first class lexical closures • tail recursion • Lisp macros • Scheme like block structure Tuesday, December 10, 13
Except when it’s not • Statically typed, type inferencing • Expressive data representation • Reified generics • Specialized code-gen (no boxing) • Fast • DETERMINISTIC (unmanaged mem) Tuesday, December 10, 13
Temporal Structure and Deep-diving Tuesday, December 10, 13
Tuesday, December 10, 13
Tuesday, December 10, 13
Tuesday, December 10, 13
Tuesday, December 10, 13
Tuesday, December 10, 13
Tuesday, December 10, 13
Cyber-physical programming • Integrate Programmer into closed-loop. • Human, machine and environment. • ‘Above’ but also ‘within’ the loop. • Cognitive extension - epistemic action. • Real-time, real-time (full stack). Tuesday, December 10, 13
Thanks! http://extempore.moso.com.au extempore.moso.com.au/temporal_recursion.html Tuesday, December 10, 13
Recommend
More recommend