<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -5,7 +5,14 @@ module Heist
   # the standard set of primitive functions and special forms as defined
   # in &lt;tt&gt;lib/builtin&lt;/tt&gt;.
   #
-  # +Runtime+ exposes several methods from the top-level +Scope+ object,
+  # User code runs in another scope descended from the top-level. This is
+  # done so that user-level redefinitions of built-in functions do not break
+  # other built-in functions that refer to the redefined names; lexical
+  # scoping ensures that built-in functions can only refer to other bindings
+  # in the top-level scope so user-level bindings do not affect the built-in
+  # library functions.
+  #
+  # +Runtime+ exposes several methods from the user-level +Scope+ object,
   # allowing runtime objects to be used as interfaces for defining
   # functions, eval'ing code and running source files.
   #</diff>
      <filename>lib/runtime/runtime.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>499c04cc710d57c13a0108069761e004f505191d</id>
    </parent>
  </parents>
  <author>
    <name>James Coglan</name>
    <email>jcoglan@googlemail.com</email>
  </author>
  <url>http://github.com/jcoglan/heist/commit/2bf89e1d53ee48f1e0132a2f09794e54467cad7f</url>
  <id>2bf89e1d53ee48f1e0132a2f09794e54467cad7f</id>
  <committed-date>2009-10-08T17:52:47-07:00</committed-date>
  <authored-date>2009-10-08T17:52:47-07:00</authored-date>
  <message>Adding some documentation on separation between library-level and user-level scopes in Runtime.</message>
  <tree>e5daff8fc1487a4a243618fb6323a10a3847006f</tree>
  <committer>
    <name>James Coglan</name>
    <email>jcoglan@googlemail.com</email>
  </committer>
</commit>
