<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -35,3 +35,18 @@
 
 (define (string-starts-with? str prefix)
   (string-range-equal? str 0 prefix 0 (string-length prefix)))
+
+
+;;; Symbol tables
+
+(define (make-symboltable)
+  (make-hashtable (function symbol-id) (function eq?)))
+
+(defmarco (symboltable-ref st sym) (list 'hashtable-ref st sym))
+(defmarco (symboltable-set! st sym val) (list 'hashtable-set! st sym val))
+
+(define (symboltable-list-ref l sym)
+  (let* ((res (symboltable-ref (car l) sym)))
+    (or res (let* ((parent (cdr l)))
+              (and (not (null? parent))
+                   (symboltable-list-ref parent sym))))))</diff>
      <filename>language/util.pco</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7286bfe79df7cafa6aa92e8ee5161b51849c0d00</id>
    </parent>
  </parents>
  <author>
    <name>David Wragg</name>
    <email>david@wragg.org</email>
  </author>
  <url>http://github.com/dpw/pachuco/commit/85f30384bdd59b1f5e4ec1966ca7ee722e2092bb</url>
  <id>85f30384bdd59b1f5e4ec1966ca7ee722e2092bb</id>
  <committed-date>2008-11-08T16:33:01-08:00</committed-date>
  <authored-date>2008-11-08T16:33:01-08:00</authored-date>
  <message>Generic symboltable support</message>
  <tree>5c9e607210333a5a528caaf0256fa2a45457649c</tree>
  <committer>
    <name>David Wragg</name>
    <email>david@wragg.org</email>
  </committer>
</commit>
