A common convention with as-> is to use the symbol $ because it is recognized as a Clojure identifier but looks distinctive, so it stands out as the placeholder of where to thread.
Personally, when reading code, I don't really like to see long uses of the threading operator, and I'd argue that if you find yourself using such long chains of computations that the "important" argument is switching to different positions, that's a sign that maybe you shouldn't be using threading operators in the first place, because it can be hard to mentally follow what intermediate data structure you have at each stage of the computation. Instead, I'd argue that you should be using `let`, because `let` allows you to give each stage of computation a meaningful name, making it easy for others (or yourself in two months) to read and reason about your code. `let` allows you to communicate intent. I think one reason people sometimes shy away from using `let` is that it can't easily be used at all positions within one's code. For example, if you are inside a `cond` doing some conditional logic, adding a `let` means you have to also start a new `cond`, and your code ends up awkwardly nested and indented, drifting to the right. The better-cond library removes this limitation, making it easy to write clear functions which intermingle long chains of computations with conditional logic: https://github.com/Engelberg/better-cond -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
