(define (filter->query f) (map (lambda (r) (match r ((y 'is . x) (cons y x)) ((y 'not . x) (cons y (conc "!" x))) ((y 'with . x) (cons y (conc "~" x))) ((y 'without . x) (cons y (conc "!~" x))) ((y 'ends . x) (cons y (conc "$" x))) ((y 'starts . x) (cons y (conc "^" x))))) f))