26

I'm learning clojure on Heroku using this tutorial. I've come across the same thing in other tutorials, as well.

Anyway, using the jetty adapter in ring, you have something like this:

(defroutes routes 
  ...)

(defn start []
  (ring/run-jetty #'routes {:port 8080 :join? false}))

I don't understand what #'routes means. If I replace it with just routes it seems to work fine. What does the #'symbol notation mean? It's been very difficult to research.

tjb1982
  • 2,257
  • 2
  • 26
  • 39

1 Answers1

26

It's a reader macro. #'foo expands to (var foo). See Is pound-quote (hash-quote, #') in Clojure running the resolve and symbol functions?, Difference between Symbols and Vars in Clojure and http://clojure.org/vars where you can find in-depth discussion.

Community
  • 1
  • 1
Jan
  • 11,636
  • 38
  • 47
  • 2
    Also: http://stackoverflow.com/questions/12248754/clojure-reference-project-up-to-date#comment16423142_12248754 – noahlz Oct 12 '12 at 19:09