 
 ;; TODO: cache delay evaluation
 (defn- alpha-trie [level]
-  (print "alpha-trie level " level)
   (let [alpha "abcdefghijklmnopqrstuvwxyz"
         t (reduce #(assoc %1 %2 (delay (alpha-trie (+ 1 level)))) {} alpha)]
     (if (< 0 level) (assoc t "" "") t)))

    nil))

(defn touch-cmd [param]
  (if (contains? param (:files (cwd)))
    "500 error: file already exists"
    (om/transact!
     (fs-cursor)
    #(create-file-in-fs % param {:mod #{:r :w}
                                  :type :file
                                  :contents ""}))))


                                  "cd" {:mod #{:x}
                                        :type :file
                                        :fn cd-cmd
                                        :args [:dir]
                                        :help "`cd` changes your current directory."}
                                  "clear" {:mod #{:x}
                                           :type :file
