emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's missing in ELisp that makes people want to use cl-lib?


From: João Távora
Subject: Re: What's missing in ELisp that makes people want to use cl-lib?
Date: Sat, 11 Nov 2023 12:50:21 +0000

On Sat, Nov 11, 2023 at 6:08 AM Michael Heerdegen
<michael_heerdegen@web.de> wrote:
>
> João Távora <joaotavora@gmail.com> writes:
>
> > I suggest cl-labels since you singled it out and some
> > sequence manipulating functions which just say: "Keywords supported:
> > :test :test-not :key :start :end :from-end" but don't explain what
> > each of those keyword arguments do.
>
> I dunno if this would fit in our concept, but it would be nice if those
> functions supporting keywords had a link (or an initially folded
> subsection) where the keywords are explained in a quick way.  One needs
> them too seldom to remember all the details until the next time.

I think these keyword arguments are just like normal elisp
optional arguments, they are just passed by name.  So the
same problems of writing/explaining them apply.

As to whether keyword arguments are intrinsically needed more
or less frequently than optional arguments is IMO, very
debatable, and entirely dependent on the function.  Again, just
like optional args. I don't think I've ever used read-from-minibuffer's
optional KEYMAP arg, for example.  Or INHERIT-INPUT-METHOD to
completing-read.  I use :KEY and :TEST quite often for cl-lib sequence
less frequently :FROM-END and even less frequently  :TEST-NOT.

Where I can agree with you is that is seems a bit suboptimal to
re-describe -- specifically for CL keyword arguments, _not_ keyword
arguments in general --  the semantics of the elements of the
standard set :KEY, :TEST, :FROM-END, etc.  I.e. there could
be some shortcuts to help facilitate this writing in cl-lib.el,
maybe some special docstring construct.  But copy-pasting it's
not that horrible either, and they can be summarily described
in single line with consistent style between the functions that
use them.

João



reply via email to

[Prev in Thread] Current Thread [Next in Thread]