anchor.diff:  
   ## editing
   
  +
  +[NOTE]
  +The emacs hack described here works, but a better way to go is to use
  +a filesystem monitor like
  +link:https://github.com/emcrisostomo/fswatch[fswatch] (see above).
  +
   Unfortunately, the technique described here only works for emacs.  But
   it should be easy enough to adapt it.
   
  
positive.code: But to use Clojure on GAE (at least with ring/compojure), we are only
  interested in the `service` method, so this works great.
  
  If you compile e.g. the [compojure](compojure) demo and look at the
  generated class files in
  `compojure/build/exploded-app/WEB-INF/classes/migae` you will see
  that everything has been AOT-compiled.  But if you copy the Clojure
  file for any of the implementation namespaces (e.g. `echo.clj` in
  the above example) into the `classes/migae` directory, it becomes
  eligible for Clojure runtime loading, even though the generated class
  files are on disk.
  
  *CAVEAT* You do have to restart the server if you change your
   `gen-class` code (in `servlets.clj`) or you change the configuration
  
negative.code: constructed dynamically at compile/run time, we cannot edit in place -
  we have to copy from the `src` tree to the `build/exploded-app` tree.
  
  [NOTE]
  
  **WARNING:** link:modules[modules] use a slightly different structure, inserting the
    module name and version into the path, e.g. `exploded-app/my-module-0.1.0/WEB-INF/classes/...`
  
  
  To verify that everything is working, run the dev server for the
  link:compojure[compojure] demo subproject (`$ ./gradlew c:aRun`) and
  load `localhost:8080` in your browser.  If you are using a filesytem
  monitor, fire it up (e.g. run `$ ./fswatch.sh` in another terminal
  session).  Visit `/echo/hello/bob`, then edit `echo.clj` and change
  something visible, e.g. change "Hello" to "Howdy".  Then reload the
  webpage and you should see the change (almost) immediately.
  
  Try adding a route, e.g. in `math.clj` within the `math` context:
  ```
  