

;===============================================================
; Predicates =?, >? and friends
(dolist (predicate '(< > = <= >= !=))
(set 'left (sym (append (string predicate) "?")))
(set 'right (expand (lambda(x)
(expand (lambda(y)
(predicate y x))
'x))
'predicate))
(set left right))
(println (filter (<=? 3) '(1 2 3 4 5 1 2 3 4 5)))
(println (map (=? 4) '(1 2 3 4 5 1 2 3 4 5)))
(println (clean (>? 1) '(1 2 3 4 5 1 2 3 4 5)))
(exit)
RESULTS:
(1 2 3 1 2 3)
(nil nil nil true nil nil nil nil true nil)
(1 1)