Hello list,
I'm working on getting ABCL + the Jetty http://www.eclipse.org/jetty web server + SLIME working together as a development environment for Google App Engine web apps[1]. This seems to be what the Clojure people have done http://www.hackers-with-attitude.com/2009/08/intertactive-programming-with-clojure.html: run your own Jetty server & SWANK server, then load the GAE JARs to provide the same emulated services as the GAE SDK's development server.
I've been working through the "Embedding Jetty" tutorials[2] and making reasonable progress (with help from Mark Evenson and others on #abcl - thanks Mark!). I've been doing it all in Lisp (so far), making my own servlet classes using JNEW-RUNTIME-CLASS. Ideally I'd like to make an ABCL library equivalent to (a subset of) Compojure https://github.com/weavejester/compojure (and appengine-magic https://github.com/gcv/appengine-magic).
Some of the tutorials have code like:
context.addServlet(HelloServlet.class, "/");
Is it possible to get Class objects for Java classes I've made with JNEW-RUNTIME-CLASS (or indeed for any other Java class)?
I've been using "raw" JCLASS & JMETHOD etc. calls to experience just how painful that really is, but I'm apprehensive about using JSS http://abcl.org/trac/browser/trunk/abcl/contrib/jss/README.markdown and paying the runtime dynamic dispatch penalty, given that on GAE time is money. Something more like a SLIME plug-in that looked up & cached classes, methods & fields at editing time (perhaps also parsing Java expressions) and generated "statically typed" code would be nice (possibly using code from e.g. JDEE http://emacswiki.org/emacs/JavaDevelopmentEnvironment and/or CEDET http://cedet.sourceforge.net/) - has anyone else thought about this?
Cheers,
John :^P (hoping HTML email to the list isn't a social faux pas)
[1] I have a page of initial notes and links at https://johnp.net/jpkb/wiki/AbclOnGae [2] https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty, http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html