help-gnu-emacs
[Top][All Lists]
Advanced

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

RE: [External] : Re: How to make M-x TAB not work on (interactive) decla


From: Drew Adams
Subject: RE: [External] : Re: How to make M-x TAB not work on (interactive) declaration?
Date: Mon, 16 Jan 2023 17:07:17 +0000

> > > I do understand that there is some LISP mystery
> > > why is it so.
> >
> > This has nothing per se to do with Lisp.  And there's
> > really no mystery.
> 
> So is nothing to do with Lisp but is in Lisp, and is no source of
> information why is not so, but is not mystery. Then where is the
> reference why is it so in Lisp?

"This" in "This has nothing per se..." refers to
"perhaps [what] you're missing [is] understanding
_zero as a number_, in 'number of arguments'" (see
my post).

IOW, that "this" refers to what I explained about
zero, zero arguments, and "any number of arguments",
which is what I thought (and think) your basic
confusion was (and is) about.

If you understood what I explained, then I thought
you'd likely understand Lisp's following the typical
math convention here.

Others have explained the use of zero as an identity
in addition etc.

As for Lisp, beyond the simplicity, familiarity, and
elegance of following the typical math convention,
there's a (resulting) practical reason:

The use of `apply', pointed out by Anders, speaks
directly to "any number of arguments".  It applies
a function (e.g. `+') to "any number of arguments",
which are passed as a list.

A list can be empty - zero elements.  Letting `+'
act on zero elements (and on one element, BTW)
makes sense not only from a math point of view but
even just from a practical Lisp point of view - as
shown by not having to fiddle with any special cases
when using `+': you can just use `apply', regardless
of how many args there are to `+'.

reply via email to

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