title: Editing programs “while they are running”? How?
body: <p>This question is a corollary to: <a href="https://stackoverflow.com/questions/5074781/editing-programs-while-they-are-running-why" title="foo">Editing programs “while they are running”? Why?</a></p>
  
  <p>I'm only recently being exposed to the world of Clojure and am fascinated by <a href="http://overtone.github.com/" rel="nofollow noreferrer">a</a> <a href="http://www.youtube.com/watch?v=7XUWpze_A_s" rel="nofollow noreferrer">few</a> <a href="https://github.com/ibdknox/live-cljs" rel="nofollow noreferrer">examples</a> I've seen of "live coding".  The question linked above discusses the "why."</p>
  
  <p>My question is: <em>How</em> is this live coding technique possible?  Is it a characteristic of the clojure language which makes it possible? Or is it just a pattern that they applied which could be applied to any language?  I've got a background in python and java.  Would it be possible to "live code" in either of these languages like it is possible in clojure?</p>