(assoc ...) is a function defined in the Clojure core:
user=> (doc assoc)
-------------------------
clojure.core/assoc
([map key val] [map key val & kvs])
assoc[iate]. When applied to a map, returns a new map of the
same (hashed/sorted) type, that contains the mapping of key(s) to
val(s). When applied to a vector, returns a new vector that
contains val at index. Note - index must be <= (count vector).
(binding ...) is a macro defined in the Clojure core:
user=> (doc binding)
-------------------------
clojure.core/binding
([bindings & body])
Macro
binding => var-symbol init-expr
Creates new bindings for the (already-existing) vars, with the
supplied initial values, executes the exprs in an implicit do, then
re-establishes the bindings that existed before.
I believe they're interfering with the use you're making of them in your
translated ACL code.
Have you defined all those other CL things that don't have direct
counterparts in Clojure? Things like (eql ...) and
(multiple-value-bind ...)?
Randall Schulz