I've yet to find Lisp any more or less readable then anything else I write day-to-day (Python, Ruby, JavaScript, CSS, HTML). In all these languages I find myself
constantly fighting to find a readable and reasonable formatting. I certainly won't argue that I find myself doing this less in Lisp, but the readability argument is just something that continues to be bandied about by people who haven't spent much time programming in Lisp.
Here's a DSL I'm working on for CouchDB:
(defmapping post
:pre-commit timestamp
:fields {:author-id :string
:title :string
:created :date-time
:modified :date-time
:body :string
:tags [:string]
:meta {:copyright :string
:href :string}})
I
wish my work in other languages had this kind of structural clarity all the time!
In constrast my favorite Python lib for CouchDB work looks like this:
creators = ListField(DictField(Mapping.build(
name = DictField(Mapping.build(
name_authority = TextField(),
name_authority_id = IntegerField(),
display_string = TextField()
)),
user_id = IntegerField(),
roles = ListField(TextField()),
attrs = ListField(TextField()),
xts = ListField(TextField()),
)))
Just look at all those parens!