On December 21, 2014 at 1:12:10 AM, Leon Grapenthin (grapenthinl...@gmail.com) 
wrote:
Thanks for bringing this up here and linking to the issue I raised on GH. I 
wanted to start a discussion here as well but have not yet found time. 

My concerns and worries are less about the style-guide in general and more 
about the indentation change regarding assoc introduced as default in 
clojure-mode 4.0.0. 

At this point in the discussion (bbatsovs reply here) I don't think there is 
another way to change his mind than more people in the community trying to 
convince him otherwise.


TLDR is that bbatsov has decided with release 4.0.0 that indenting assoc in the 
way introduced more than 6 years ago is not so much of a good idea anymore 
because it "defies an extremely strong Lisp tradition ". 
I believe I presented a bit more arguments than that. :-)


I find it personally preferable for the three reasons listed here.

Since bbatsov was so kind to fix threading macros yesterday, I guess he can be 
convinced about assoc, too.

This is unlikely to happen. Few people were upset about the assoc indentation 
and more greeted it. Not to mention most tools don’t use special indentation 
for assoc by default. I’ll extend the clojure-mode docs with more info about 
indentation customizations, which sounds like a reasonable compromise to me for 
people who disagree with the defaults. People should certainly be able to 
indent their code however they see fit.



Regarding the discussion in general: How about agreeing to an EDN structure 
with indentation hints which can be loaded into any Clojure IDE? This would 
offer library authors to provide indentation hints for their macros themselves. 
They could also be added as meta-data to the vars so that during an active 
nrepl connection the correct indentation for e. g. om/dom forms would be pulled 
automatically...

Best regards, 
Leon.


On Saturday, December 20, 2014 10:14:18 AM UTC+1, Colin Fleming wrote:
Hi everyone,

There's been a bit of discussion recently on a couple of clojure-mode tickets 
that I thought were worth discussing here. The tickets are #265 and #266, and 
they later led to PR #96 on Bozhidar Batsov's Clojure Style Guide. The part of 
the discussion I wanted to raise starts here, where there's some discussion 
around the nature of the style guide itself.

Bozhidar clearly sees himself as the steward of a community style guide, 
something he's done to great success with the Ruby style guide. However it 
seems that there is a significant part of the community that didn't see it that 
way, and had seen it more as his personal style guide that he happened to put 
out there. I'm interested in starting a discussion around this because I do 
think it's valuable to have some degree of community consensus around these 
issues, specifically so that tools can have consistent defaults.

That said, one of the defining features of lisps in general is that they permit 
essentially unlimited flexibility, and in my experience programmers in general 
really don't like being told what to do, especially around indentation. So, I'd 
like to ask the obvious initial question - do we as a community think that 
there is value in having a style guide like this? If so, to Marshall's point on 
the list, do we think it should try to mandate what people should be doing, or 
should it describe what they actually currently do in real code, even if that's 
the result of historical accidents?

For what it's worth, from my point of view I definitely think that a guide like 
this is useful, and I've referred to Bozhidar's guide myself from time to time 
when trying to decide what to do for a particular feature in Cursive. However I 
do think that it needs more flexibility than it currently has - there are some 
things marked in there as "bad" that I'd like to see downgraded to "prefer the 
other way unless you have a good reason", which of course I always feel like I 
have. In particular, some of the reasoning behind the linked changes above I 
think needs to be more flexible - there are good use cases for customising 
indentation for some functions, for example.

Of course, if we decide that we do want a guide like this then we can spend 
many happy years arguing about what should go in it, but first things first :-)

Cheers,
Colin
--
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/d/optout.

-- 
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/d/optout.

Reply via email to