<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -25,4 +25,4 @@
 (define blurb '(&quot;Provides a compiler from Advanced Student Language+world to Javascript &quot;
                 &quot;for both web browsers and mobile smartphones.&quot;))
 
-(define release-notes '(&quot;Improvements to IE compatibility.&quot;))
\ No newline at end of file
+(define release-notes '(&quot;Improvements to IE compatibility.  Added mutable hash table primitives make-hasheq, hash-set!, hash-ref, hash-remove!, hash-map, and hash?.&quot;))
\ No newline at end of file</diff>
      <filename>info.ss</filename>
    </modified>
    <modified>
      <diff>@@ -193,8 +193,18 @@ The following program shows a ball falling down a scene.
 @defproc[(stop-when [stop? (world -&gt; boolean)]) handler?]{
 When the world should be stopped --- when @scheme[stop?] applied to the world
 produces @scheme[true] --- then the @scheme[js-big-bang] terminates.
-}
 
+The program:
+@(mobyblock
+(define (at-ten x)
+  (&gt;= x 10))
+
+(js-big-bang 0
+             (on-tick 1 add1)
+             (stop-when at-ten))
+)
+counts up to ten and then stops.
+}
 
 
 
@@ -451,6 +461,36 @@ defines the following forms:
 
 
 
+@defproc[(make-hasheq) hash?]{
+Creates a mutable hashtable whose keys are compared by @scheme[eq?].
+}
+
+@defproc[(hash? (x any/c)) boolean?]{
+Returns @scheme[true] if @scheme[x] is a @scheme[hash], and @scheme[false] otherwise.}
+
+@defproc[(hash-set! (a-hash hash?) (key any/c) (value any/c)) void]{
+Mutates @scheme[a-hash].
+}
+
+@defproc[(hash-ref (a-hash hash?) (key any/c) (value any/c) (default-val any/c)) any/c]{
+Looks up @scheme[key] in @scheme[a-hash]; if a value can't be found,
+@itemize[@item{If @scheme[default-val] is a thunk, calls it and returns its value.}
+	 @item{Otherwise, returns @scheme[default-val].}]
+}
+
+@defproc[(hash-remove! (a-hash hash?) (key any/c)) (void)]{
+Removes a key and its associated value from @scheme[a-hash].
+}
+
+@defproc[(hash-map (a-hash hash?) (f (any/c any/c -&gt; any/c))) (listof any/c)]{
+Maps a function @scheme[f] across all the key/value pairs in @scheme[a-hash].  The
+order of the traversal is not defined.
+}
+
+
+
+
+
 
 
 
@@ -718,6 +758,7 @@ The Javascript program that's emitted depends on a runtime kernel
 that's currently implemented in Javascript.  See the files in
 @filepath{support/js/runtime}.
 
+@;{
 @subsection{Ugly Hacks}
 
 
@@ -743,7 +784,7 @@ in the following files:
            @item{@filepath{support/js/runtime/types.js}}
            @item{@filepath{support/js/runtime/kernel.js}}
 ]
-
+}
 
 
 @section{Appendix}</diff>
      <filename>manual.scrbl</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>380282e3ca9f556aa132f31cf666a7c22948ad61</id>
    </parent>
  </parents>
  <author>
    <name>Danny Yoo</name>
    <email>dyoo@cs.wpi.edu</email>
  </author>
  <url>http://github.com/dyoo/moby-scheme/commit/6b82f3c4d70a66ed17707770448b2eeb61fff866</url>
  <id>6b82f3c4d70a66ed17707770448b2eeb61fff866</id>
  <committed-date>2009-11-06T11:03:34-08:00</committed-date>
  <authored-date>2009-11-06T11:03:34-08:00</authored-date>
  <message>Documentation.</message>
  <tree>ad7947f14670f939b4cfeb2aab76166e663fc004</tree>
  <committer>
    <name>Danny Yoo</name>
    <email>dyoo@cs.wpi.edu</email>
  </committer>
</commit>
