(= intro* (table)) (mac defi (name args . body) (let defn `(def ,name ,args ,@body) `(do1 ,defn (= (intro* ,name) ',defn))))
arc> (defi foo (x) (* x 2)) #<procedure: foo> arc> (foo 2) 4 arc> (intro* foo) (def foo (x) (* x 2))