- Notifications
You must be signed in to change notification settings - Fork283
Open
Description
I think the rules for margin comments are causing some confusion inthe related Standard Clojure Style discussion:
Problem
The Clojure Style Guide’srules for margin comments states:
- Write margin comments with one semicolon.
- Avoid using those in situations that would result in hanging closing parentheses.
But the given example seems to break the second rule:
(defnfoo [x]x; I'm a line/code fragment comment. )
Proposal
The example below from@yuhan0 follows these rules— by not expecting an inline comment to directly follow its referent expression (AST-wise):
(defnclassify-squares [n] (->> (range n); generate a bunch of numbers (map #(* % %)); calculate their squares (group-by even?))); and sort them by parity
This seems more conventional than the other example, which I actually haven’t seen before.
Rationale
One way to formalize this is to treat margin comments as actualsidenotes:
- Treat anything after an inline semicolon
;
as “in the margin”. - Gather trailing parentheses by ignoring anything in the margin.
Metadata
Metadata
Assignees
Labels
No labels