On Feb 21, 10:05 pm, Jonathan Mitchem <[email protected]> wrote:
> I'm new to Lisps in general, and very new to Clojure.
>
> When I was trying out CL, I could put my "defun/defn"s in any order in
> the file, and it would load and run fine in the REPL. However, in
> Clojure, it seems to be much more C/C++-like and I have to define
> things before I use them in other defns.
>
> Is this... correct? Or is it just a limitation of the IDEs I've been
> trying out?
>
> E.g., it seems like I have to define "sum" before I can define
> "average".
Yes, this is the way things are. If you want to get around it, you can
(declare sum), and there are various macros available if you want to
go more whole-hog and declare things in reverse order.
For example:
(defmacro do-top-down [& forms]
(cons 'do (reverse forms)))
(do-top-down
(defn average [& args]
(/ (sum args) (count args)))
(defn sum [& args]
(reduce + args)))
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
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