What is meant by dynamic code evaluation?
<p>The following is from  the preface of <a href="http://jsninja.com/" rel="nofollow">Jon Resig's new book : Secrets of JavaScript Ninjas</a></p>

<blockquote>
  <p>The portions of this book that cover features that are relatively un-changing, such as code evaluation, with statements, and timers are continually being used in interesting ways. There are now a number of active programming languages that are built on top of, or compiled to, JavaScript: Such as CoffeeScript or Processing.js. These languages require complex language parsing, code evaluation, and scope manipulation in order to work effectively. While dynamic code evaluation has been maligned due to its complexity and potential for security issues, without it we would not have had the CoffeeScript programming language – which has gone on to influence the upcoming ECMAScript specification itself.</p>
  
  <p>I’m personally making use of all of these features, even today, in my work at Khan Academy. Dynamic code evaluation in the browser is such a powerful feature: You can build in-browser programming environments and do crazy things like inject code into a live runtime. This can result in an extremely compelling way to learn computer programming and provide all sorts of capabilities that wouldn’t be possible in a traditional learning environment.</p>
</blockquote>

<p>What is actually "Dynamic code Evaluation" ?  What are its benefits ? Please illustrate with a nicely contrived example .</p>
