(defn wrap ([[a & as]] (if-let [[b & cs] as] [a (wrap as)] [a]))) (doall (map (comp println wrap) (repeatedly #(read-string (read-line)))))
[a b c d e] [a b]
[a [b [c [d [e]]]]] [a [b]]
Exception in thread "main" java.lang.NullPointerException at java.io.StringReader.<init>(StringReader.java:50) at clojure.lang.RT.readString(RT.java:1727) at clojure.core$read_string.invoke(core.clj:3417) at user$eval6$fn__7.invoke(prog.clj:9) at clojure.core$repeatedly$fn__4724.invoke(core.clj:4632) at clojure.lang.LazySeq.sval(LazySeq.java:42) at clojure.lang.LazySeq.seq(LazySeq.java:60) at clojure.lang.RT.seq(RT.java:475) at clojure.core$seq.invoke(core.clj:133) at clojure.core$map$fn__4226.invoke(core.clj:2479) at clojure.lang.LazySeq.sval(LazySeq.java:42) at clojure.lang.LazySeq.seq(LazySeq.java:60) at clojure.lang.Cons.next(Cons.java:39) at clojure.lang.RT.next(RT.java:589) at clojure.core$next.invoke(core.clj:64) at clojure.core$dorun.invoke(core.clj:2781) at clojure.core$doall.invoke(core.clj:2796) at user$eval6.invoke(prog.clj:9) at clojure.lang.Compiler.eval(Compiler.java:6618) at clojure.lang.Compiler.load(Compiler.java:7062) at clojure.lang.Compiler.loadFile(Compiler.java:7019) at clojure.main$load_script.invoke(main.clj:286) at clojure.main$script_opt.invoke(main.clj:348) at clojure.main$main$fn__6676.invoke(main.clj:432) at clojure.main$main.doInvoke(main.clj:429) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.lang.Var.invoke(Var.java:415) at clojure.lang.AFn.applyToHelper(AFn.java:161) at clojure.lang.Var.applyTo(Var.java:532) at clojure.main.main(main.java:37)