> You can use Compojure to build webapp in more convenient way. I should elaborate on my previous post. It was intended not to recommend the clojure way of building web apps (there's plenty of info regarding that - compojure, ring, clout, hiccup, conjure, etc), but rather as a specific, detailed example of integration from java to clojure and how to extend java classes and implement java interfaces in clojure.
A "canonical" example of this, (as Todd originally requested) is how one implements the servet interface in clojure and uses it in a container like tomcat. That is presented in my example. A further important detail (for me at least), is how one can (from java) dynamically load clojure namespaces and call clojure functions in a way that allows one to extend existing java systems easily. That is also shown in the example (see the ns-sym/require logic). This is very useful for dynamically loading alternative implementations of functions from different namespaces, giving the ability to deploy dependency injection, factory mechanisms and other such strategies. An example of using this ns loading technique for creating TimerTasks, callable from java (or clojure), implemented in clojure is shown in http://groups.google.co.za/group/clojure/browse_thread/thread/a35e45935af55a3/7ba78a7223c1f802?hl=en&lnk=gst&q=Timertask#7ba78a7223c1f802 The 1.2 master branch also introduces deftype and reify which (over and above defprotocol and defrecord) add greatly to the tools for modular, extensible java/clojure interop. -Rgds, Adrian. -- 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