Thank you for your responses. This was failing for me in the Noir server, so I assumed the same error meant the same thing in the REPL. Something was different though, changing it to (defn get-id ...) and a couple other minor tweaks and it's working.
On Monday, April 30, 2012 9:31:17 PM UTC-4, Stuart Campbell wrote: > > Hi Travis, > >> (def get-id >> (session/get :uid)) >> >> (defn set-user! [user] >> (session/put! :uid {:_id user})) >> > Only set-user! is a function here. The value of get-id is evaluated at > compile-time. > > I don't know about the implementation of noir.session/get, but the error > message suggests that it uses some dynamic var that is unbound at > compile-time. That makes sense since you couldn't reference a session > without an associated request. > > Changing get-id to something like: > > (defn get-id [] > (session/get :uid)) > > will probably do what you expect. > > => (meta #'get-id) >> {:ns #<Namespace app-admin.models.current-user>, :name get-id} >> >> So it's there, the fn is bound [...] >> > > Actually no, you're looking up the metadata on the var, not the value. > Observe the following: > > user> (def foo) > #'user/foo > user> foo > #<Unbound Unbound: #'user/foo> > user> (meta #'foo) > {:ns #<Namespace user>, :name foo, :line 1, :file "NO_SOURCE_FILE"} > > See also http://clojure.org/vars > > Regards, > Stuart > -- 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 Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en