diff --git a/src/ludus/prelude.clj b/src/ludus/prelude.clj index d2e70c3..71b43ba 100644 --- a/src/ludus/prelude.clj +++ b/src/ludus/prelude.clj @@ -3,12 +3,14 @@ [ludus.data :as data] [ludus.show])) -(defn- id [x] x) - +;; TODO: make eq, and, or special forms that short-circuit +;; Right now, they evaluate all their args (def eq {:name "eq" ::data/type ::data/clj :body =}) +(defn- id [x] x) + (def and- {:name "and" ::data/type ::data/clj :body (fn [&args] (every? id &args))})