 
 (defn pad-all-symbols
   [str]
-  (loop [p (vec punctuation)
-         s str]
-    (if (empty? p)
-      s
-      (recur
-        (rest p)
-        (pad-symbol s (first p)))
-    )
-  ) 
-)
+  (reduce
+    (fn [acc item] (pad-symbol acc item))
+    str
+    special-characters))
 
 (defn get-symbol-stream
   []

                           symbols)
          :else (recur (next symbols)
                       (cons symbol namespace))
        )
      )
    )
  )
)

(defn process-import [symbols]
  (println "import")
  symbols)

(defn process-symbols [symbols]
  (loop [symbols symbols]
    (if (not (nil? symbols))
      (let [symbol (first symbols)]
        (recur
          (cond
            (= symbol "package") (process-package (next symbols))
            (= symbol "import")  (process-import (next symbols))
            :else (next symbols)))))))

(defn read-java [] (slurp "test.java"))


    (str/split
      (pad-all-symbols
        (read-java))
      #"\s")))

(defn -main
  [& args]
