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.