all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ryan Prior <ryanprior@hey.com>
To: Mark H Weaver <mhw@netris.org>,
	 Danny Milosavljevic <dannym@scratchpost.org>,
	 Raghav Gururajan <raghavgururajan@disroot.org>
Cc: Development of GNU Guix and the GNU System distribution
	<guix-devel@gnu.org>
Subject: Re: Questionable "cosmetic changes" commits
Date: Fri, 04 Dec 2020 03:30:40 +0000	[thread overview]
Message-ID: <f3d60aafcdc5b41059409bd27d7f1de7360d15d4@hey.com> (raw)
In-Reply-To: <e4702374e4977ebf44aa872dd3d7a5fd@disroot.org>

[-- Attachment #1: Type: text/plain, Size: 3114 bytes --]

On December 4, 2020, Raghav Gururajan <raghavgururajan@disroot.org>
wrote:
> I can tell you that those cosmetic changes I made were 100%
> irrational, useless and noisy.

That's certainly a way to frame it, but I'd like to hold some space for
the idea that the things we neuroatypical people do to manage and
satisfy our own unusual perspectives are not irrational or useless if
they make sense to us and serve a purpose for us.

> Due to [clinical conditions], if the packages I am editing is not it
> in a specific way, I am unable to focus properly. That too, if I am
> working on multiple package definitions and if each pack-defs are
> arranged in different way, it is very very hard for me.

That is an interesting use-case I hadn't considered, but a valid one,
and it gives me ideas. I'm going to experiment with some tools to make
this feasible.

Consider the tooling for Unison[1] which reduces code churn in a number
of unique ways.[2]  It can store programs as abstract syntax trees
rather than plain text files, and it's content-addressed, referring to
functions by their hashes rather than their fixed names. As a programmer
that gives you the freedom to choose names and language syntax that suit
you without imposing on others to follow suit.

Due to the functional paradigm and technical structure of Guix, I think
we can build some of the same capabilities in our tooling. Like Unison
functions, our package definitions are reduced to a declarative content-
addressed form, from which a textual definition could be generated again
using a reverse process. By such a process, you & I could edit package
definitions in whatever textual form suits us individually without
having to agree on anything, not even the names of symbols. Then we can
use a tool to automatically canonicalize our code into the form most
widely acceptable to the community when it's time to submit a patch.

Taking this idea to its logical conclusion & building on Guile's multi-
language-syntax paradigm, I can picture using a futuristic tool to edit
package definitions in Emacs lisp or JavaScript, again without requiring
that anybody upstream adopt those languages or even recognize that I'm
using them.

I'll see what I can hack together for a naïve implementation of this
concept and present it for review.

> Moving forward, I will try hard not to do this. But can I ask you all
> to allow these cosmetic commits for my existing projects (i.e. commits
> from wip-desktop and pidgin patch-set) please?

It doesn't bug me, but I know it does bug other people and imagine we
want to avoid creating unnecessary review work for people who follow the
commit stream.

> I understand that these commits were a burden to everyone and my
> sincere apologies for that.

I appreciate the grace and consideration you brought to your response &
all your contributions to Guix!


[1] https://www.unisonweb.org
[2] https://www.unisonweb.org/2020/04/10/reducing-churn/#definitions-
getting-renamed-or-moved

[-- Attachment #2: Type: text/html, Size: 5465 bytes --]

  reply	other threads:[~2020-12-04  3:31 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-02 18:55 Questionable "cosmetic changes" commits Mark H Weaver
2020-12-02 20:13 ` Ryan Prior
2020-12-02 21:27   ` Tobias Geerinckx-Rice
2020-12-02 22:22   ` Mark H Weaver
2020-12-03  3:16   ` Bengt Richter
2020-12-02 21:33 ` Hartmut Goebel
2020-12-04  2:08 ` Raghav Gururajan
2020-12-04  3:30   ` Ryan Prior [this message]
2020-12-04  3:58     ` Raghav Gururajan
2020-12-04 15:12       ` Danny Milosavljevic
2020-12-05  6:47       ` Mark H Weaver
2020-12-05  7:06         ` Mark H Weaver
2020-12-05 20:37       ` Raghav Gururajan
2020-12-05 21:54         ` Christopher Baines
2020-12-05 23:42           ` Bengt Richter
2020-12-20  7:07           ` Raghav Gururajan via Development of GNU Guix and the GNU System distribution.
2020-12-05 23:29         ` Cosmetic changes commits as a potential security risk (was Re: Questionable "cosmetic changes" commits) Mark H Weaver
2020-12-20  6:55         ` Questionable "cosmetic changes" commits Raghav Gururajan via Development of GNU Guix and the GNU System distribution.
2020-12-20  7:00         ` Cosmetic changes commits as a potential security risk (was Re: Questionable "cosmetic changes" commits) Raghav Gururajan via Development of GNU Guix and the GNU System distribution.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f3d60aafcdc5b41059409bd27d7f1de7360d15d4@hey.com \
    --to=ryanprior@hey.com \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    --cc=mhw@netris.org \
    --cc=raghavgururajan@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.