Thanks both - (and yes I did mean brackets - oops). On 19 Jan 2013, at 18:26, Sven Johansson <[email protected]> wrote:
> On Sat, Jan 19, 2013 at 7:02 PM, Colin Yates <[email protected]> wrote: > user=> (defn stream1 [] repeatedly create-user) > > This function invokes neither repeatedly nor create-user. It pointlessly > refers to repeatedly and then returns a reference to the create-user function. > Which is function and not a sequence, which is why you cannot take n from it. > > user=> (defn stream2 [] (repeatedly create-user)) > > This function invokes repeatedly with a reference to create-user and returns > a lazy-sequence, which you can take n from. > > > In other words, what effect does wrapping the function body in quotes > > actually do? > > By quotes I assume you mean ()'s. The answer is above. in stream1 you are > simply refering to functions. Without the ()'s > you're not invoking anything. > > Compare: > user> create-user > #<user$create_user user$create_user@3f8ecde> > > to: > > user> (create-user) > {:id 1} > user> > > /S > > -- > 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 -- 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
