I believe I have fixed all of my stack-space issues except for this one annoying function (rewritten from the original since the multimethod wasn't buying me much):
(defn flatten [x] (let [type (:type x)] (cond (or (= type :NIL) (= type :TEXT)) x (= type :CONCAT) (doc-concat (flatten (:doc1 x)) (flatten (:doc2 x))) (= type :NEST) (doc-nest (:level x) (flatten (:doc x))) (= type :LINE) (doc-text " ") (= type :UNION) (recur (:doc1 x))))) Any ideas? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---