+;;; Queries
+
+(define ($eq field value)
+ (lambda (document)
+ (let ((stored (vhash-assoc field document)))
+ (and stored
+ (equal? (cdr stored) value)))))
+
+
+(define ($exists field)
+ (lambda (document)
+ (and (vhash-assoc field document)
+ #t)))
+
+
+(define ($not expr)
+ (lambda (document)
+ (not (expr document))))
+
+