I've downloaded compojure-doc and I've been playing around with it.
Some very good work! Thanks a lot for writing it.
> a. The compojure.ns-utils/immigrate function wreaks havoc with
> clojure.contrib.repl-utils/get-source (it becomes unable to find any
> source for anything), so I skip the files which call it.
That's sensible. I don't think the API should cover those namespaces,
as they're just shortcuts.
> b. I think my script may have messed up on a few vars due to name
> conflicts. Someone clever could possibly figure out how to sandbox
> each lib to avoid these conflicts. The name conflicts were:
You use 'use' then 'require' if 'use' fails. Why not just use
'require' from the start? That should solve any namespace problems,
and it seemed to work okay when I tried it.
> compojure.str-utils/blank? and compojure.validation/blank?
> compojure.http.servlet/update-response and compojure.http.response/
> update-response
> compojure.server.grizzly and compojure.server.jetty (lots of stuff, as
> you'd imagine)
Aside from the compojure.server namespaces, the update-response and
blank? conflicts are interesting. I'll have to rename one of the
update-response functions, and I'll probably remove
compojure.validation/blank?.
> c. compojure/validation/predicates doesn't define the namespace
> compojure.validation.predicates, which causes some confusion in the
> script, but I think it catches the vars in there anyways.
I need to revisit compojure.validation some time in the near future
and tidy it up a little.
> d. I ran this with the Compojure source tree on the CLASSPATH. A jar
> didn't work so well.
>
> Maybe you can turn that into something useful.
It looks just what I need. By next weekend, I should have a
rudimentary website for Compojure up. The API docs are probably the
most important thing to get in place. After they're up, I'll start
writing some tutorials and explanation of Compojure's design.
Again, thanks for writing this.
- James