unofficial mirror of emacs-tangents@gnu.org
 help / color / mirror / Atom feed
From: Arthur Miller <arthur.miller@live.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: "rms@gnu.org" <rms@gnu.org>,
	 "emacs-tangents@gnu.org" <emacs-tangents@gnu.org>
Subject: Re: [External] : Re: Shrinking the C core
Date: Thu, 14 Sep 2023 14:09:46 +0200	[thread overview]
Message-ID: <AM9PR09MB49778586FECF2E5249F2EFE596F7A@AM9PR09MB4977.eurprd09.prod.outlook.com> (raw)
In-Reply-To: <SJ0PR10MB548825CB81F0F71A93496ED5F3F0A@SJ0PR10MB5488.namprd10.prod.outlook.com> (Drew Adams's message of "Wed, 13 Sep 2023 14:46:53 +0000")

Drew Adams <drew.adams@oracle.com> writes:

> [Moving reply to e-tangents.]
>
>> > I would not object to using keyword arguments for functions
>> > like that -- complex and cumbersome to use, and not used often.
>> 
>> Well, than we pretty much agree 100% about keyword args.
>
> +1.
>
> Except maybe for the "not used often".  Depends on the
> "often" use.  If used often without any keyword args (or
> optional args, for that matter), what difference does it
> make that the function _has_ keyword/optional args?  By
> definition and convention, such args are generally not
> for the most common (the default) use case.

Well yes, of course, it is corect. I think it depends on what "not often
used" referred to. I interepretted it as not often used argument, not
the function itself. Those more often used but possible to omit are of
course usually optional and in front of the optional list, but those
that are used in some more specialized circumstance or by very few are
perhaps good candidates for keyword arguments? I don't know, that is how
I perecieve it.

> But the general point, I think, is that keyword (and
> optional) args turn one function into a family of several,
> and that can be useful.  But the "base" function, called without such args, can be just as convenient as if there
> were no such args possible.

Yes indeed; and I agree with what you wrote in your longer second mail
about that. They do lessen the need for more functions which means less
API surface to document and potentially lookup and learn. Isn't a good
example that window functions that I wanted to make into same once in
the context of help/info patch? I don't remember which it were tbh
:). Something with selecting window on just current frame or all frames
or something like that.



  reply	other threads:[~2023-09-14 12:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <AM9PR09MB4977F8809CAACC854107D60596F0A@AM9PR09MB4977.eurprd09.prod.outlook.com>
2023-09-13 14:46 ` [External] : Re: Shrinking the C core Drew Adams
2023-09-14 12:09   ` Arthur Miller [this message]
2023-09-15 16:17     ` Emanuel Berg
2023-09-15 20:04       ` Drew Adams
2023-09-15 20:21         ` Emanuel Berg
2023-09-16 20:55           ` Drew Adams
2023-09-17 10:08             ` Emanuel Berg
2023-09-17 14:34               ` Yuri Khan
2023-09-17 23:14                 ` Emanuel Berg
2023-09-17 17:16               ` Drew Adams
2023-09-17 23:48                 ` Emanuel Berg
     [not found] <AM9PR09MB4977AE8A2555D914A8CB96ED96E1A@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found] ` <87ledwx7sh.fsf@yahoo.com>
     [not found]   ` <DB9PR09MB4986737ABB230BFCEB1AB9B596E0A@DB9PR09MB4986.eurprd09.prod.outlook.com>
     [not found]     ` <877cpfybhf.fsf@yahoo.com>
     [not found]       ` <AM9PR09MB4977C010362EBF83BCF3491C96E0A@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]         ` <873503y66i.fsf@yahoo.com>
     [not found]           ` <AM9PR09MB49779854134CDC2E4FB2AD2996E0A@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]             ` <E1qbX63-0003Ty-Rn@fencepost.gnu.org>
     [not found]               ` <E1qdgsR-0000j8-BN@fencepost.gnu.org>
     [not found]                 ` <AM9PR09MB497757F8D921063E3D60D40C96EFA@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]                   ` <ZPhih7q2ml8v6EfP@ACM>
     [not found]                     ` <AM9PR09MB497758A94F012B506480CCE996EDA@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]                       ` <SJ0PR10MB548849E1E781201B1E2A9AC3F3EDA@SJ0PR10MB5488.namprd10.prod.outlook.com>
     [not found]                         ` <E1qfUyS-0006Wx-9e@fencepost.gnu.org>
     [not found]                           ` <ZP+B/SleQ0CTPWd2@thyrsus.com>
     [not found]                             ` <m2cyyoj9av.fsf@Pro.fritz.box>
2023-09-12 12:07                               ` Eli Zaretskii
2023-09-12 12:16                                 ` Po Lu
2023-09-12 19:58                                 ` Arthur Miller
2023-09-13 14:39                                   ` Eli Zaretskii
2023-09-14 11:53                                     ` Arthur Miller
2023-09-14 13:36                                       ` Po Lu
     [not found]                           ` <CALDnm50-__n48jSXe7WGXuT8O1YFm7QmqVzjgh-VUg5d_3ofpQ@mail.gmail.com>
     [not found]                             ` <87fs3fesir.fsf@dataswamp.org>
2023-09-15 15:35                               ` Drew Adams

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=AM9PR09MB49778586FECF2E5249F2EFE596F7A@AM9PR09MB4977.eurprd09.prod.outlook.com \
    --to=arthur.miller@live.com \
    --cc=drew.adams@oracle.com \
    --cc=emacs-tangents@gnu.org \
    --cc=rms@gnu.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.
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).