* Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") [not found] ` <871qmg5qpj.fsf@gnu.org> @ 2023-02-23 22:20 ` Maxim Cournoyer 2023-02-27 19:14 ` Efraim Flashner 0 siblings, 1 reply; 10+ messages in thread From: Maxim Cournoyer @ 2023-02-23 22:20 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel -CC bug#61255 +CC guix-devel Hi Ludovic and guix-devel readers, Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > >> Ludovic Courtès <ludo@gnu.org> writes: >> [...] >>> I’m not convinced by the indentation rule for ‘gexp->derivation’ added >>> in 82daab42811a2e3c7684ebdf12af75ff0fa67b99: there’s no reason to treat >>> ‘gexp->derivation’ differently from other procedures. >> >> The benefit I saw was that writing >> >> (gexp->derivation the-name >> #~(begin >> (the >> (multi-line >> (gexp))))) > > I understand, but you know, it’s best to avoid unilaterally changing > established conventions. :-) > > If and when there’s consensus about this change, (guix read-print) > should be updated. OK. I'm not against soliciting more opinions; I'm CC'ing guix-devel, hoping some opinionated individuals tip in on this 2021 82daab42811a2e3c7684ebdf12af75ff0fa67b99 commit, more specifically, the part that change the indentation rules for .dir-locals.el like this: --8<---------------cut here---------------start------------->8--- + (eval . (put 'gexp->derivation 'scheme-indent-function 1)) --8<---------------cut here---------------end--------------->8--- In the same spirit there was also b1c25e2ce364741d1c257d3bb3ab773032807a80 (".dir-locals.el: Add indentation rule for computed-file.") made more recently (last month). The idea was to be able to format gexp->derivation like this: --8<---------------cut here---------------start------------->8--- (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) (ice-9 match) (ice-9 popen) (ice-9 rdelim) (ice-9 textual-ports) (rnrs base)) [...] --8<---------------cut here---------------end--------------->8--- Rather than like this: --8<---------------cut here---------------start------------->8--- (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) (ice-9 match) (ice-9 popen) (ice-9 rdelim) (ice-9 textual-ports) (rnrs base)) --8<---------------cut here---------------end--------------->8--- (or having to use another 'builder' variable, for example). What do you all think? -- Thanks, Maxim ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") 2023-02-23 22:20 ` Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") Maxim Cournoyer @ 2023-02-27 19:14 ` Efraim Flashner 2023-03-01 15:17 ` Feedback on indentation rules Maxim Cournoyer 0 siblings, 1 reply; 10+ messages in thread From: Efraim Flashner @ 2023-02-27 19:14 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Ludovic Courtès, guix-devel [-- Attachment #1: Type: text/plain, Size: 3914 bytes --] On Thu, Feb 23, 2023 at 05:20:55PM -0500, Maxim Cournoyer wrote: > -CC bug#61255 > +CC guix-devel > > Hi Ludovic and guix-devel readers, > > Ludovic Courtès <ludo@gnu.org> writes: > > > Hi, > > > > Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > > > >> Ludovic Courtès <ludo@gnu.org> writes: > >> > > [...] > > >>> I’m not convinced by the indentation rule for ‘gexp->derivation’ added > >>> in 82daab42811a2e3c7684ebdf12af75ff0fa67b99: there’s no reason to treat > >>> ‘gexp->derivation’ differently from other procedures. > >> > >> The benefit I saw was that writing > >> > >> (gexp->derivation the-name > >> #~(begin > >> (the > >> (multi-line > >> (gexp))))) > > > > I understand, but you know, it’s best to avoid unilaterally changing > > established conventions. :-) > > > > If and when there’s consensus about this change, (guix read-print) > > should be updated. > > OK. I'm not against soliciting more opinions; I'm CC'ing guix-devel, > hoping some opinionated individuals tip in on this 2021 > 82daab42811a2e3c7684ebdf12af75ff0fa67b99 commit, more specifically, the > part that change the indentation rules for .dir-locals.el like this: > > --8<---------------cut here---------------start------------->8--- > + (eval . (put 'gexp->derivation 'scheme-indent-function 1)) > --8<---------------cut here---------------end--------------->8--- > > In the same spirit there was also > b1c25e2ce364741d1c257d3bb3ab773032807a80 (".dir-locals.el: Add > indentation rule for computed-file.") made more recently (last month). > > The idea was to be able to format gexp->derivation like this: > > --8<---------------cut here---------------start------------->8--- > (gexp->derivation "check-deb-pack" > (with-imported-modules '((guix build utils)) > #~(begin > (use-modules (guix build utils) > (ice-9 match) > (ice-9 popen) > (ice-9 rdelim) > (ice-9 textual-ports) > (rnrs base)) > [...] > --8<---------------cut here---------------end--------------->8--- > > Rather than like this: > > --8<---------------cut here---------------start------------->8--- > (gexp->derivation "check-deb-pack" > (with-imported-modules '((guix build utils)) > #~(begin > (use-modules (guix build utils) > (ice-9 match) > (ice-9 popen) > (ice-9 rdelim) > (ice-9 textual-ports) > (rnrs base)) > --8<---------------cut here---------------end--------------->8--- > > (or having to use another 'builder' variable, for example). > > What do you all think? The second one is waaaay to indented. For myself I sometimes end up wrapping the lines (although I don't love it) so it looks like this: (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) (ice-9 match) (ice-9 popen) (ice-9 rdelim) (ice-9 textual-ports) (rnrs base)) -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-02-27 19:14 ` Efraim Flashner @ 2023-03-01 15:17 ` Maxim Cournoyer 2023-03-06 16:56 ` Ludovic Courtès 0 siblings, 1 reply; 10+ messages in thread From: Maxim Cournoyer @ 2023-03-01 15:17 UTC (permalink / raw) To: efraim; +Cc: Ludovic Courtès, guix-devel Hi Efraim, Efraim Flashner <efraim@flashner.co.il> writes: > On Thu, Feb 23, 2023 at 05:20:55PM -0500, Maxim Cournoyer wrote: >> -CC bug#61255 >> +CC guix-devel >> >> Hi Ludovic and guix-devel readers, >> >> Ludovic Courtès <ludo@gnu.org> writes: >> >> > Hi, >> > >> > Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: >> > >> >> Ludovic Courtès <ludo@gnu.org> writes: >> >> >> >> [...] >> >> >>> I’m not convinced by the indentation rule for ‘gexp->derivation’ added >> >>> in 82daab42811a2e3c7684ebdf12af75ff0fa67b99: there’s no reason to treat >> >>> ‘gexp->derivation’ differently from other procedures. >> >> >> >> The benefit I saw was that writing >> >> >> >> (gexp->derivation the-name >> >> #~(begin >> >> (the >> >> (multi-line >> >> (gexp))))) >> > >> > I understand, but you know, it’s best to avoid unilaterally changing >> > established conventions. :-) >> > >> > If and when there’s consensus about this change, (guix read-print) >> > should be updated. >> >> OK. I'm not against soliciting more opinions; I'm CC'ing guix-devel, >> hoping some opinionated individuals tip in on this 2021 >> 82daab42811a2e3c7684ebdf12af75ff0fa67b99 commit, more specifically, the >> part that change the indentation rules for .dir-locals.el like this: >> >> --8<---------------cut here---------------start------------->8--- >> + (eval . (put 'gexp->derivation 'scheme-indent-function 1)) >> --8<---------------cut here---------------end--------------->8--- >> >> In the same spirit there was also >> b1c25e2ce364741d1c257d3bb3ab773032807a80 (".dir-locals.el: Add >> indentation rule for computed-file.") made more recently (last month). >> >> The idea was to be able to format gexp->derivation like this: >> >> --8<---------------cut here---------------start------------->8--- >> (gexp->derivation "check-deb-pack" >> (with-imported-modules '((guix build utils)) >> #~(begin >> (use-modules (guix build utils) >> (ice-9 match) >> (ice-9 popen) >> (ice-9 rdelim) >> (ice-9 textual-ports) >> (rnrs base)) >> [...] >> --8<---------------cut here---------------end--------------->8--- >> >> Rather than like this: >> >> --8<---------------cut here---------------start------------->8--- >> (gexp->derivation "check-deb-pack" >> (with-imported-modules '((guix build utils)) >> #~(begin >> (use-modules (guix build utils) >> (ice-9 match) >> (ice-9 popen) >> (ice-9 rdelim) >> (ice-9 textual-ports) >> (rnrs base)) >> --8<---------------cut here---------------end--------------->8--- >> >> (or having to use another 'builder' variable, for example). >> >> What do you all think? > > The second one is waaaay to indented. For myself I sometimes end up > wrapping the lines (although I don't love it) so it looks like this: > > (gexp->derivation > "check-deb-pack" > (with-imported-modules '((guix build utils)) > #~(begin > (use-modules (guix build utils) > (ice-9 match) > (ice-9 popen) > (ice-9 rdelim) > (ice-9 textual-ports) > (rnrs base)) Thanks for the feedback. I wonder if some are of the opinion that since gexp->derivation is a plain function rather than a syntax having a special form for its 2nd argument, we should leave the default indentation rules untouched for it? My take on this would be a pragmatic one: readable code trumps indentation rules purity, but I'm interested to gather all the views. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-01 15:17 ` Feedback on indentation rules Maxim Cournoyer @ 2023-03-06 16:56 ` Ludovic Courtès 2023-03-07 13:46 ` Simon Tournier 0 siblings, 1 reply; 10+ messages in thread From: Ludovic Courtès @ 2023-03-06 16:56 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: efraim, guix-devel Hi, Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > Thanks for the feedback. I wonder if some are of the opinion that since > gexp->derivation is a plain function rather than a syntax having a > special form for its 2nd argument, we should leave the default > indentation rules untouched for it? Yes, that’s my take and current practice so far: special rules for special forms (macros), not for procedures. Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-06 16:56 ` Ludovic Courtès @ 2023-03-07 13:46 ` Simon Tournier 2023-03-07 16:54 ` Maxim Cournoyer 2023-03-15 16:15 ` Ludovic Courtès 0 siblings, 2 replies; 10+ messages in thread From: Simon Tournier @ 2023-03-07 13:46 UTC (permalink / raw) To: Ludovic Courtès, Maxim Cournoyer; +Cc: efraim, guix-devel Hi, On Mon, 06 Mar 2023 at 17:56, Ludovic Courtès <ludo@gnu.org> wrote: > Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > >> Thanks for the feedback. I wonder if some are of the opinion that since >> gexp->derivation is a plain function rather than a syntax having a >> special form for its 2nd argument, we should leave the default >> indentation rules untouched for it? > > Yes, that’s my take and current practice so far: special rules for > special forms (macros), not for procedures. What is the rationale? Being able to know directly at the location when it is a plain function or a special form? For what it is worth, I do not see an high difference between the both indentations. So, my opinion would to keep the current practise. Cheers, simon ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-07 13:46 ` Simon Tournier @ 2023-03-07 16:54 ` Maxim Cournoyer 2023-03-07 17:29 ` Simon Tournier 2023-03-15 16:15 ` Ludovic Courtès 1 sibling, 1 reply; 10+ messages in thread From: Maxim Cournoyer @ 2023-03-07 16:54 UTC (permalink / raw) To: Simon Tournier; +Cc: Ludovic Courtès, efraim, guix-devel Hi Simon, Simon Tournier <zimon.toutoune@gmail.com> writes: > Hi, > > On Mon, 06 Mar 2023 at 17:56, Ludovic Courtès <ludo@gnu.org> wrote: >> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: >> >>> Thanks for the feedback. I wonder if some are of the opinion that since >>> gexp->derivation is a plain function rather than a syntax having a >>> special form for its 2nd argument, we should leave the default >>> indentation rules untouched for it? >> >> Yes, that’s my take and current practice so far: special rules for >> special forms (macros), not for procedures. > > What is the rationale? Being able to know directly at the location when > it is a plain function or a special form? > > For what it is worth, I do not see an high difference between the both > indentations. So, my opinion would to keep the current practise. Please take a look at my original message in this thread, https://lists.gnu.org/archive/html/guix-devel/2023-02/msg00297.html, where I gave examples of gexp->derivation indentations that should explain the rationale allow nesting arguments more naturally, as if gexp->derivation was a special form (although it's a simple procedure). -- Thanks, Maxim ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-07 16:54 ` Maxim Cournoyer @ 2023-03-07 17:29 ` Simon Tournier 2023-03-09 13:55 ` Maxim Cournoyer 0 siblings, 1 reply; 10+ messages in thread From: Simon Tournier @ 2023-03-07 17:29 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Ludovic Courtès, efraim, guix-devel Hi Maxim, On Tue, 07 Mar 2023 at 11:54, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: >> For what it is worth, I do not see an high difference between the both >> indentations. So, my opinion would to keep the current practise. > > Please take a look at my original message in this thread, > https://lists.gnu.org/archive/html/guix-devel/2023-02/msg00297.html, > where I gave examples of gexp->derivation indentations that should > explain the rationale allow nesting arguments more naturally, as if > gexp->derivation was a special form (although it's a simple procedure). Yeah, I have read this rationale before. :-) My question was somehow directed to Ludo: > Yes, that’s my take and current practice so far: special rules for > special forms (macros), not for procedures. What is the rationale? Being able to know directly at the location when it is a plain function or a special form? Sorry for having been unclear. And I do not see a big difference between, (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) or (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) It is somehow personal cosmetic and I am sometimes poor person about cosmetic. ;-) Well, from my point of view, based on consistency with current practises, I would be inclined to keep the status quo: special rule for special form. Cheers, simon ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-07 17:29 ` Simon Tournier @ 2023-03-09 13:55 ` Maxim Cournoyer 0 siblings, 0 replies; 10+ messages in thread From: Maxim Cournoyer @ 2023-03-09 13:55 UTC (permalink / raw) To: Simon Tournier; +Cc: Ludovic Courtès, efraim, guix-devel Hi Simon, Simon Tournier <zimon.toutoune@gmail.com> writes: > Hi Maxim, > > On Tue, 07 Mar 2023 at 11:54, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote: > >>> For what it is worth, I do not see an high difference between the both >>> indentations. So, my opinion would to keep the current practise. >> >> Please take a look at my original message in this thread, >> https://lists.gnu.org/archive/html/guix-devel/2023-02/msg00297.html, >> where I gave examples of gexp->derivation indentations that should >> explain the rationale allow nesting arguments more naturally, as if >> gexp->derivation was a special form (although it's a simple procedure). > > Yeah, I have read this rationale before. :-) > > My question was somehow directed to Ludo: > > > Yes, that’s my take and current practice so far: special rules for > > special forms (macros), not for procedures. > > What is the rationale? Being able to know directly at the location when > it is a plain function or a special form? > > Sorry for having been unclear. > > And I do not see a big difference between, > > (gexp->derivation "check-deb-pack" > (with-imported-modules '((guix build utils)) > > or > > (gexp->derivation "check-deb-pack" > (with-imported-modules '((guix build utils)) > > It is somehow personal cosmetic and I am sometimes poor person about > cosmetic. ;-) In the second case, we end up busting the 80 chars limit easily, so it usually ends up formatted as: --8<---------------cut here---------------start------------->8--- (gexp->derivation "check-deb-pack" (with-imported-modules '((guix build utils)) [...] or (define builder #~(the builder code)) (gexp->derivation "name" builder) --8<---------------cut here---------------end--------------->8--- Which is not very natural (in fact, I had found already used indentation like 1) in tests/pack.scm before I adjusted the .dir-locals.el file to match it, otherwise Emacs was re-indenting them differently). -- Thanks, Maxim ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-07 13:46 ` Simon Tournier 2023-03-07 16:54 ` Maxim Cournoyer @ 2023-03-15 16:15 ` Ludovic Courtès 2023-03-17 16:16 ` Maxim Cournoyer 1 sibling, 1 reply; 10+ messages in thread From: Ludovic Courtès @ 2023-03-15 16:15 UTC (permalink / raw) To: Simon Tournier; +Cc: Maxim Cournoyer, efraim, guix-devel Hi, Simon Tournier <zimon.toutoune@gmail.com> skribis: > On Mon, 06 Mar 2023 at 17:56, Ludovic Courtès <ludo@gnu.org> wrote: >> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: >> >>> Thanks for the feedback. I wonder if some are of the opinion that since >>> gexp->derivation is a plain function rather than a syntax having a >>> special form for its 2nd argument, we should leave the default >>> indentation rules untouched for it? >> >> Yes, that’s my take and current practice so far: special rules for >> special forms (macros), not for procedures. > > What is the rationale? Being able to know directly at the location when > it is a plain function or a special form? Yes. Now, it’s aesthetics so there’s no “rationale” per se but rather established practice: in the project, but also from what I can see in Guile and more generally Scheme (info "(guix) Formatting Code"). Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Feedback on indentation rules 2023-03-15 16:15 ` Ludovic Courtès @ 2023-03-17 16:16 ` Maxim Cournoyer 0 siblings, 0 replies; 10+ messages in thread From: Maxim Cournoyer @ 2023-03-17 16:16 UTC (permalink / raw) To: Ludovic Courtès; +Cc: Simon Tournier, efraim, guix-devel Hello, Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Simon Tournier <zimon.toutoune@gmail.com> skribis: > >> On Mon, 06 Mar 2023 at 17:56, Ludovic Courtès <ludo@gnu.org> wrote: >>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: >>> >>>> Thanks for the feedback. I wonder if some are of the opinion that since >>>> gexp->derivation is a plain function rather than a syntax having a >>>> special form for its 2nd argument, we should leave the default >>>> indentation rules untouched for it? >>> >>> Yes, that’s my take and current practice so far: special rules for >>> special forms (macros), not for procedures. >> >> What is the rationale? Being able to know directly at the location when >> it is a plain function or a special form? > > Yes. > > Now, it’s aesthetics so there’s no “rationale” per se but rather > established practice: in the project, but also from what I can see in > Guile and more generally Scheme (info "(guix) Formatting Code"). See commits d0b7858968a2c8c8cdacc3679447b250fb5b4dd9 and 933051281fbed0ae71bd40c24a701faf2a02791c, where I reverted to status quo w.r.t. indentation rules of gexp->derivation and computed-file, given the lack of clear consensus. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-03-17 16:17 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20230203221409.15886-2-maxim.cournoyer@gmail.com> [not found] ` <20230203221409.15886-5-maxim.cournoyer@gmail.com> [not found] ` <87357alp9n.fsf_-_@gnu.org> [not found] ` <878rgxws6l.fsf@gmail.com> [not found] ` <871qmg5qpj.fsf@gnu.org> 2023-02-23 22:20 ` Feedback on indentation rules (was: [PATCH 0/5] Add support for the RPM format to "guix pack") Maxim Cournoyer 2023-02-27 19:14 ` Efraim Flashner 2023-03-01 15:17 ` Feedback on indentation rules Maxim Cournoyer 2023-03-06 16:56 ` Ludovic Courtès 2023-03-07 13:46 ` Simon Tournier 2023-03-07 16:54 ` Maxim Cournoyer 2023-03-07 17:29 ` Simon Tournier 2023-03-09 13:55 ` Maxim Cournoyer 2023-03-15 16:15 ` Ludovic Courtès 2023-03-17 16:16 ` Maxim Cournoyer
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).