Handle pattern matching entire expressions
[scheme.git] / ast.scm
diff --git a/ast.scm b/ast.scm
index 109ce91a49ff95f7857550c0119f958b90caeefd..d2328cc6449d014eacb085fdc0b734f620c1ceb2 100644 (file)
--- a/ast.scm
+++ b/ast.scm
@@ -82,6 +82,9 @@
     ['lambda (either (p x)
                     (inner (lambda-body x)))]
     ['if (either (p x) (any inner (cdr x)))]
+    ['case (either (p x)
+                  (any inner (map cadr (case-cases x)))
+                  (inner (case-switch x)))]
     ['stack (either (p x) (inner (caddr x)))]
     [else (p x)]))