Programming in Time Tuesday, December 10, 13 Algorave? Tuesday, - - PowerPoint PPT Presentation

programming in time
SMART_READER_LITE
LIVE PREVIEW

Programming in Time Tuesday, December 10, 13 Algorave? Tuesday, - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Programming in Time

Live Coding in Creative Performance

Tuesday, December 10, 13

slide-2
SLIDE 2

Algorave?

Tuesday, December 10, 13

slide-3
SLIDE 3

Tuesday, December 10, 13

slide-4
SLIDE 4

Experimental Programming

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

A Lisp Tradition

Tuesday, December 10, 13

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Make Some Noise!

Tuesday, December 10, 13

slide-8
SLIDE 8

Extempore

  • Strongly Timed (temporal semantics)
  • Distributed & Heterogenous
  • Concurrent (layered)
  • Wide (full-stack - hot-swappable)
  • High Performance & Deterministic

Tuesday, December 10, 13

slide-9
SLIDE 9

Extempore is a Lisp

  • s-expression syntax (Lisp)
  • first class lexical closures
  • tail recursion
  • Lisp macros
  • Scheme like block structure

Tuesday, December 10, 13

slide-10
SLIDE 10

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

slide-11
SLIDE 11

Temporal Structure and Deep-diving

Tuesday, December 10, 13

slide-12
SLIDE 12

Tuesday, December 10, 13

slide-13
SLIDE 13

Tuesday, December 10, 13

slide-14
SLIDE 14

Tuesday, December 10, 13

slide-15
SLIDE 15

Tuesday, December 10, 13

slide-16
SLIDE 16

Tuesday, December 10, 13

slide-17
SLIDE 17

Tuesday, December 10, 13

slide-18
SLIDE 18

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

slide-19
SLIDE 19

Thanks!

http://extempore.moso.com.au extempore.moso.com.au/temporal_recursion.html

Tuesday, December 10, 13