> 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

Reply via email to