Re: [livecode] Hello (& chaos)

From: Rob Myers <robmyers_at_mac.com>
Date: Fri, 10 Sep 2004 14:06:45 +0100

On Friday, September 10, 2004, at 12:42PM, Dave Griffiths <dave_at_pawfal.org> wrote:

>I think interpreted languages are the natural choice for live programming.
>Despite all the jokes on the subject, compiling stuff live would not be fun! :)

Here we go:

http://www.javaworld.com/javatips/jw-javatip131.html

I do agree that dynamic languages are better for this, though.

>Something I'd like to research is changing code on the machine level live.
>There may even be precedents for this. I'm thinking of a system where you have
>a virtual machine with a very simple instruction set (as in evolving machine
>code systems like tierra). You'd be able to grab processes, and move the
>program counter around and hack their instructions *while they are running* -
>no write/interpret cycle at all.

Cool.

There's plenty of VMs around, varying from simulators for everything from the Apollo guidance computer (!) through PDP-8s to Z80s and PPC chips, to modrn runtimes like Parrot and the CLR. I hear Spectrum emulators are a favourite for washing machines, but I digress. :-)

A VM designed for live music hacking could have midi or sound ops, score operations, etc. as part of the instruction set. The registers, cache and memory could all be structures to support this. You could indeed hack that live at the machine code level, or have a higher-level language that interprets or compiles to it.

Prolog, Lisp, Java, Perl, Interactive Fiction and various other games all have their own VMs or even hardware machine implementations. Having a VM encapsulates the conceptual model of the language or the task, adding expressive power or aiding optimisation. This is a very important and popular technique.

>For the ultra livecoding geek - it may be possible to get your head round a
>real system without a virtual machine in simpler 8bit computers, or
>microprocessors that allow code to be modified.

Use a keyboard to generate bytecodes, playing the instructions live. A postmodern version of the old flip-switches and blinking lights seen on old computers (especially in films). :-)

- Rob.
Received on Fri Sep 10 2004 - 13:07:46 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:24 BST