title: What are the advantages of dynamic scoping?
body: <p>I've learned that <a href="http://en.wikipedia.org/wiki/Static_scoping#Static_scoping_.28also_known_as_lexical_scoping.29" rel="noreferrer">static scoping</a> is the only sane way to do things, and that <a href="http://en.wikipedia.org/wiki/Static_scoping#Dynamic_scoping" rel="noreferrer">dynamic scoping</a> is the tool of the devil, and results only from poor implementations of interpreters/compilers. </p>
  
  <p>Then I saw this snippet from a <a href="http://community.schemewiki.org/?scheme-vs-common-lisp" rel="noreferrer">Common Lisp vs. Scheme</a> article:</p>
  
  <pre>
  Both Lexically and Dynamically    Lexical scope only, per the standard.
  scoped special vars.  Common      Dynamically scoped vars are provided
  Lisp just wins on this point.     by some implementations as an extension
                                    but code using them is not portable.
  
       (I have heard the arguments about whether Dynamic scoping
        is or is not a Bad Idea in the first place.  I don't care. 
        I'm just noting that you can do things with it that you 
        can't easily do without it.)
  </pre>
  
  <p>Why does Common Lisp "just win on this point"? What things are easier to do with dynamic scoping? I really can't justify ever needing it / seeing it as a good thing.</p>