(seq (defmacro eq? [] (if-eq ($%%) :true :false)) (defmacro nq? [] (if-eq ($%%) :false :true)) (fn cmp [left right] (match (builtins.cmp left right) (-1 :less) (0 :equal) (1 :greater))) (fn lt? [left right] (eq? (cmp left right) :less)) (fn lte? [left right] (bool.or (lt? left right) (eq? left right))) (fn gt? [left right] (eq? (cmp left right) :greater)) (fn gte? [left right] (bool.or (gt? left right) (eq? left right))) )