 (функція зменш "див. reduce" [функція колекція] (reduce функція колекція))
 (функція зменш "див. reduce" [функція значення колекція] (reduce функція значення колекція))
 
+
+;; умови 
+
+(постійна істина true)
+
+(постійна фальш false)
+ 
+(функція ні? "not" [x] (not x))
+
+(функція та? "and" ([x y] (and x y)) ([x y & більше] (зменш та? (та? x y) більше)))
+
+(функція кожен? "див. every?" ([умова колекція] (every? умова колекція)))
+
+(функція або? "or" ([x y] (or x y)) ([x y & більше] (зменш або? (або? x y) більше)))
+
+;; системні
+
+(функція вихід ([] (вихід 0)) ([статус] (System/exit статус)))
+
+(defn використай [& args] (use args))
+
+
 ;; різні
-
-(функція текст "(див. str)" [] (str))
-(функція текст "(див. str)" [x] (str x))
-(функція текст "(див. str)" [x y] (str x y))
-(функція текст "(див. str)" [x y & більше] (зменш текст (текст x y) більше))
 
 
 (функція дай-випадкове "див. rand-int" [максимальне] (rand-int максимальне))

;; (use 'uawa.core)

;; макроси
(defmacro постійна "див. defonce" [назва значення] `(let [v# (def ~назва)](when-not (.hasRoot v#) (def ~назва ~значення))))

(defmacro функція "див. defn" [назви & описи] (list* `defn (with-meta назви (assoc (meta назви) :private false)) описи))

(defmacro для "див. for" [set-expr body-expr] `(for ~set-expr body-expr))

(defmacro запис "див. defrecord" [name fields & opt] `(defrecord ~name ~fields ~@opt))


;; колекції
