Hi all,

I'm fairly new to clojure (a few months), but not new to lisp or indeed 
functional languages in general and I have around 10 years of experience 
programming dynamic languages in general.

I've recently been using luminus to build a RESTful web API and I've been 
honestly surprised by how much code I've had to write to enable me to 
actually get things done while using it. I can't say I was expecting 
something full-stack like Django or Rails, but I wasn't expecting to have 
to write quite so much code to get simple things done. I've now spent 
around 14 hours building a RESTful web service that handles CRUD for a 
single database table because I've had to solve so many things I've come up 
against.

What I'm actually wondering here is what I'm missing. Is it that the entire 
clojurian approach is "here are the pieces, build a framework from them" or 
is it just that I've had terrible luck with libraries?

Some examples:
1. The :params key is used by ring.middleware.params, compojure and 
ring.middleware.format so it's impossible to know where a given param is 
coming from
2. ring.middleware.params does not provide a convenience map that merges 
:query-params and :form-params, despite being happy to stuff everything 
into :params. At least ring.middleware.format adds :body-params here. I've 
now written a middleware to do this.
3. ring.middleware.keyword-params only keywordises the :params map, not the 
other maps. There is no configurable behaviour to ask it to do other maps. 
I've now written a middleware for this
4. migratus seems to have the smallest note ever in the documentation 
informing you that version numbers must be 14 digits long (i was using 12 
digits for a timestamp by not having the seconds listed). This seems like a 
really daft requirement in the first place.
5. every migrations library i've seen that doesn't work off raw SQL files 
is incapable of representing advanced features of my database of choice 
(postgresql)
6. lobos requires varchars to have a length limit applied (postgres does 
not)
7. the best way i've found of dealing with a database is korma. While korma 
does reduce some of the pain of SQL for standard things, it has limits and 
it doesn't save all that much pain.

etc.

So, am I missing something? Are there any libraries people can recommend 
that will make my life easier? Am I just looking at this in completely the 
wrong way?

Thanks,
James

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to