Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Live Lisp coding as art (imagine27.com)
40 points by jgrant27 on April 9, 2009 | hide | past | favorite | 17 comments


The software is Impromptu [http://impromptu.moso.com.au/](http://impromptu.moso.com.au/..., it sounds a lot like [fluxus](http://www.pawfal.org/fluxus/) which emilis mentioned.

> Impromptu is an OSX programming environment for composers, sound artists, VJ's 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.


That is pretty awesome, yet at the same time, it's kind of a shame (in an ideal way) that he used samples rather than generating the whole lot programmatically... now that would have been pretty mind-blowing. As it is, it was more like setting up a sequencer that happened to be controlled via lisp. That's impressive, but the other option would have been even better (and is definitely doable)...


Probably, but then they should change the "or skip ahead (at least 3 minutes)." to "or go to the third movie and jump in on 25 minutes"


Which one is the "third" movie?


Some other work that is a bit more generative is 'No Copy Paste'. You can see some of their videos are at http://ncp.kibu.hu/


This would be a great example of what "hacking" is to someone unfamiliar with the classical usage of the term.


Bah, what does this have to do with Lisp? It seems like something that could be done in any language.

Now, what I would like to see is how the AST of a large project evolves over time. Not just the commits to a repository, but the entire AST of the codebase as it's being typed.


Someone sounds bitter on account of his favorite programming language.

Lisp is especially conducive to this sort of thing because it is (arguably) the best suited language for rapid prototyping; sure this could be done in other languages, but it wouldn't be as pretty or smooth.


What? Don't get me wrong, I'm as big a Lisp fan as any, but everything done in the video has nothing to do with what makes Lisp uniquene - macros. Any language with a repl would do here as well.


I've also read of live coding with the language Processing and Python.

I think the limiting factor is the existence of a REPL.

What you are speaking of with the AST doesn't sound very "live", but definitely sounds interesting.


Impromptu doesn't run on a REPL, though. It detects and evaluates whatever statement you're inside of.

Python would probably make this possible as well (if things like Reinteract are any indication).


Oh, that is interesting. It has been a while since I fiddled with... I think it was Fluxus.

It is one of those things were I became insanely fascinated and then suddenly found myself deluged under a ton of other fascinating things. Hopefully I'll be able to make it back to it at some point. Consolidating my art+music+coding together could open the window to doing something crazy like finishing a project...


You can do it too! See some of the programs you can use for this: http://www.toplap.org/index.php/ToplapSystems

I have tried fluxus (http://www.pawfal.org/fluxus/) about a year ago and it involved some non-trivial tinkering before I could start it on my Ubuntu laptop.

Good tool to start conversations at developer conferences ;-)


Anyone know what emacs (assumption) mode he's using?


Probably SLIME, though I have never seen a shot of the window borders or any of the emacs decorations.

If this was indeed Emacs, the author doesn't seem to know of the M-( parenthesis matching keychord. You can see him type the opening paren, types the code which is autocompleted just find, but he also types the closing paren manually. M-( will give you matching parens and put the cursor in between.


From a comment above:

> Impromptu doesn't run on a REPL, though. It detects and evaluates whatever statement you're inside of.


underwhelming...




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: