blob: 74d297ba1f17f3d495cc34bd2c3dee9699bfeff1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
(define-structure mpd (export query)
(open scheme-with-scsh)
(begin
(define-syntax query
(syntax-rules ()
((_ a)
(mpd-query-1 `a))))
(define (mpd-query-equals params)
(apply format #f "~s == ~s" params))
(define (mpd-query-and params)
(format #f "~a AND ~a"
(mpd-query-1 (car params))
(mpd-query-1 (cadr params))))
(define (mpd-query-1 query)
(format #f "(~a)"
(let ((op (car query)))
(case op
('= (mpd-query-equals (cdr query)))
('and (mpd-query-and (cdr query)))))))))
|