unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: "'Help-Gnu-Emacs \(help-gnu-emacs@gnu.org\)'" <help-gnu-emacs@gnu.org>
Subject: RE: [External] : A peek to the other side
Date: Tue, 22 Feb 2022 18:25:44 +0000	[thread overview]
Message-ID: <SJ0PR10MB5488DC9B38CF5196D233C25CF33B9@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <jwvley2hn83.fsf-monnier+emacs@gnu.org>

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

> > The built-in help and thorough-going introspection of
> > Emacs and Elisp are in fact outgrowths from Lisp and
> > the Lisp community.  Lisp has had this strength from
> > the outset.
> 
> I don't know about the various forms of introspection, but at AFAIK
> (none of this is 100% sure, sadly) in the specific case of docstrings,
> this comes from TECO and I believe it was added to TECO by Richard
> while working on the TECO version of Emacs.

Yes, but RMS was embedded in a culture of Lisp.  The
editor used at MIT then was TECO.  And unlike Interlisp
the MacLisp environment used editing etc. tools that
were outside Lisp itself.  The "open" approach to
editing, and to help in code editing, came from the use
(practice) of Lisp: interactive, live modification of code.

> > And RMS has always had a strong will to keep Emacs open and
> > self-aware/self-documenting.  "Doc", in multiple senses, 
> > has always been important to Emacs.
> 
> While the GPL doesn't say anything about it, it's clear that's an
> important part of empowering users, so it's closely linked to the
> ideals of Free Software.

Yes.

> [ In a sense, the source code of a program is a kind of documentation
>   of the corresponding assembly generated by the compiler. ]

Yes.  Even so, there's been no tendency in Emacs to
skimp on providing good doc and code comments.  IOW,
the availability of the source code isn't taken as an
excuse to not improve transparency by supplementing
code with doc.

> > Unfortunately, there's been more of a tendency in
> > recent years to "name-claim" more things to be
> > "internal", as if that somehow protected something or
> > someone (Emacs development/developers? Elisp users?).
> 
> Note the strong difference between the "--" naming convention to
> announce a function/var is internal, with the use of strong language
> abstraction to make internal inaccessible.

Yes, of course.  That's at least in the right direction.

And of course there's the even stronger difference
between providing source code and withholding it.  It's
about transparency and intentionally fostering it.

> Emacs is not in the business of preventing users from shooting
> themselves in the foot, but we do try to make it easier for the users
> not to shoot themselves in the foot, which is why we like to document
> with "--" when a function is intended to be internal.

Black-&-white.  Users are developers of Emacs, and its
developers are users.

Intention to be internal, as a _Note to (communal) self_
that XYZ might be fragile, or might need to change soon,
or has this limitation, or whatever, is better written
out specifically in comments or doc - saying why, in
what ways, under what conditions, etc.  Specifics,
reasons - think it out and express it explicitly.
Don't just label: `--'.

Just labeling something "internal" can do as much harm
as good (or more).  It's too easy to do and forget.
It takes no responsibility for communicating what's
going on - what's _behind_ the intention/judgment.
It's a crutchy, misleading label, at best (and worst)
providing (whom?) a false sense of security.

It essentially belies a perceived or intended/wished
separation between users ("lusers") and developers.
And that's a separation that free software ultimately
explodes, intentionally, explicitly, forthrightly.

At the very least, every use of `--' should have an
easily findable comment or doc, explaining what it's
about - why the labeler labeled it so.  A guess is
that if that guideline were adopted there'd be a lot
less gratuitous use (misuse) of `--'.  And updating
out-of-date `--' would be less problematic.  Today,
it's an irresponsible, easy "label `--' willy nilly,
and forget about it."
___

Just one opinion...

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 15802 bytes --]

  reply	other threads:[~2022-02-22 18:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-22  7:11 A peek to the other side emacsq via Users list for the GNU Emacs text editor
2022-02-22 16:11 ` [External] : " Drew Adams
2022-02-22 16:46   ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-02-22 18:25     ` Drew Adams [this message]
2022-02-22 18:43       ` Eli Zaretskii
2022-02-22 19:38         ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-02-26  3:45       ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-23 12:24   ` Arthur Miller
2022-02-23 13:50     ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-02-26  3:36   ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-22 18:21 ` Samuel Banya
2022-02-22 19:17   ` Philip Kaludercic
2022-02-22 21:31     ` Samuel Banya
2022-02-23 12:05 ` Arthur Miller

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=SJ0PR10MB5488DC9B38CF5196D233C25CF33B9@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.
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).