
What to expect from Compojure 0.4.0 - icey
http://groups.google.com/group/compojure/msg/519e8fd5cd76dacb
======
brehaut
While I'm happy that the library is being broken down into smaller pieces, I
am left wondering what is left in Compojure itself. Http is handled by ring,
html is its own lib, routing is its own lib. Can someone clarify what the
library provides now?

~~~
weavejester
From 0.4.0 onward, the main functionality of Compojure will be to provide a
routing concise DSL:

    
    
        (GET "/books/:isbn" [isbn]
          (show-book isbn))
    

This actually produces a fairly complex handler function, so there's still a
fair bit of Compojure-specific code left. But it's true that Compojure will be
a significantly more lightweight framework than it currently is.

~~~
brehaut
Thanks for the clarification. I had been confused through a lack of
understanding about where compojure's handler functions stopped and clout's
routing started.

~~~
weavejester
Clout just handles the parsing of a string like "/books/:isbn" into a
structure that can be matched against a URI (internally represented as a regex
and a vector of keywords).

~~~
brehaut
Will compojure let you specify an alternative route parsing/handling library
via a binding, protocol or similar?

~~~
weavejester
Theoretically, so long as that library produces the same output as Clout. This
means the route needs to be able to be specified as a regular expression.

------
jackowayed
PG really should add google.com to the list of domains that have their
subdomains shown. It's so mysterious as is.

EDIT: realized that really I should have put this in the feature requests.
Someone requested it 68 days ago and it's currently #2 on there. Wonder if
there's a reason he's ignoring it or if he just hasn't looked recently. In any
case, if you agree, upvote the suggestion:
<http://news.ycombinator.com/item?id=996374>

------
mcav
This strongly resembles Pylons' approach: Break core components into separate
projects, so that each can evolve more quickly and so that one can use the
best component for each area.

------
j_baker
I actually find statements like this scary. There's just a lot to be said
about knowing that installing the next version of a framework like this won't
horribly break your code. But then again, maybe I'm expecting too much from a
0.4.0 release.

~~~
runevault
Yeah I started out feeling this way, but sometimes you have to break stuff to
get a good final result. Once he hits 1.0 hopefully weavejester will be less
prone to such massive breakage ;-)

~~~
weavejester
Yep. Before 1.0, backward compatibility may be broken between each minor
version. But after 1.0, backward compatibility will only be broken between
each major version - or at least, that's the plan.

------
Raphael_Amiard
I love the new routing syntax, almost as much as i feel uncomfortable with the
current one. I have quite a big project running on compojure so i wonder if
i'm gonna convert my code.

