> 1. Not a good way to READ from a string, (read (PushbackReader. (StringReader. my-string)))
> I've noticed functions can only refer to those previously defined, so you > couldnt have 2 that depend on one another This is because symbols are looked up at compile time. So what you can do is (def f) (defn g [x] (+ 1 (f x))) (defn f [x] (if (= x 0) 0 (g (- x 1))) (g 4) => 4 It would be fairly easy to whip up a macro that handles this more neatly: (def-rec f g (defn g [x] (+ 1 (f x))) (defn f [x] (* x x))) > What are you doing with Clojure? Writing a scriptable notetaking app for my tablet, as all the existing apps turn it into a very expensive pad of paper. mzscheme has a neat module system ( http://docs.plt-scheme.org/guide/units.html ) that handles mutual and cyclic dependencies between modules. I'm slowly porting this to clojure, the only real difficulty being fitting it in neatly with the namespace system. > What 3 features would you most like to see added next? I'll echo better compiler errors. The runtime error reporting is pretty good but the compile time errors are useless. I'd also like to control how my datastructures are printed, maybe by making print a multimethod dispatching on something like (or (:type ^obj) (class obj)). I think thats fairly vital for building new abstractions on top of the existing types. And eventually I would like a contract library, to help me get off the static typing crack. I may have a shot at it when I've finished my current side project. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---