all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "'Pascal J. Bourguignon'" <pjb@informatimago.com>,
	<help-gnu-emacs@gnu.org>
Subject: RE: 'length' function for lists and cons cells?
Date: Sat, 23 Mar 2013 22:20:39 -0700	[thread overview]
Message-ID: <37AB5D102E2E4E8789645A8BBB536837@us.oracle.com> (raw)
In-Reply-To: <87zjxunmfj.fsf@kuiper.lan.informatimago.com>

> >> > So if both, true lists and cons cells, are processed in a... 
> >> 
> >> proper-lists, not true lists.  
> >> They all are true lists, ie. cons cells or nil.
> >
> > Maybe for some people.  For others, "true list" and "proper 
> > list" mean the same thing.  FWIW, Emacs itself calls such a
> > beast a "true list".
> 
> Even emacs itself calls such beasts true lists:

No, it does not.

> (typep '()                   'list) --> t
> (typep '(1)                  'list) --> t
> (typep '(1 . #1=(2 3 . #1#)) 'list) --> t
> (typep '(1 . 2)              'list) --> t

You're apparently grasping at straws.  There is no mention of "true list" there.


The Emacs implementation of `typep' just calls `listp' when you pass it `list',
so of course it returns non-nil for any cons cell or nil.

`typep' does not distinguish "true"/"proper" lists from dotted lists, so it is
useless to appeal to it as an authority on the terminology to use to distinguish
the two.

In any case, `typep' in Emacs is just an emulation of `typep' in Common Lisp,
which refers to Common Lisp types.  `typep' does not (and should not) try to say
anything about Emacs Lisp types.

The Emacs doc uses only "true list" for what you called a "proper list".  It
never uses "proper list" (which is also an OK name for it, IMO).

> >>From (elisp) `Cons Cells':
> >
> >   Also by convention, the CDR of the last cons cell in a
> >   list is `nil'.  We call such a `nil'-terminated structure
> >   a "true list".  
> 
> No, f[.] manual, you're dumbing down the language, which is
> patronizing and error inducing.

I have no idea what you mean by that.

You insisted that this be called a "proper list" and not a "true list".  Why?
To me, personally, either of those terms would be appropriate to distinguish a
nil-terminated list from a dotted list (with non-nil last cdr).

The fact is that your correction of "true" to "proper" does not correspond to
the terminology that Emacs itself uses, and it does not add anything to our
understanding.  That's all.  If you want to pick nits then get the nits right or
you just confuse people.

The idea of help-gnu-emacs is to help folks.  If you want to change the
terminology used in the manual, try `M-x report-emacs-bug' or
emacs-devel@gnu.org.




  reply	other threads:[~2013-03-24  5:20 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.22586.1363890109.855.help-gnu-emacs@gnu.org>
2013-03-21 20:49 ` 'length' function for lists and cons cells? Pascal J. Bourguignon
2013-03-22  2:38   ` Thorsten Jolitz
2013-03-22  7:27     ` Mark Skilbeck
2013-03-22  9:57       ` Thorsten Jolitz
     [not found]       ` <mailman.22632.1363946271.855.help-gnu-emacs@gnu.org>
2013-03-23 12:19         ` Pascal J. Bourguignon
2013-03-23 15:35           ` Drew Adams
     [not found]           ` <mailman.22706.1364052941.855.help-gnu-emacs@gnu.org>
2013-03-23 15:52             ` Pascal J. Bourguignon
2013-03-24  5:20               ` Drew Adams [this message]
     [not found]   ` <mailman.22618.1363919920.855.help-gnu-emacs@gnu.org>
2013-03-22  7:45     ` Barry Margolin
2013-03-23 11:31     ` Pascal J. Bourguignon
2013-03-21 18:21 Thorsten Jolitz
2013-03-21 20:02 ` Stephen Berman
2013-03-21 21:58   ` Thorsten Jolitz
2013-03-21 22:05     ` Drew Adams
     [not found]   ` <mailman.22591.1363903134.855.help-gnu-emacs@gnu.org>
2013-03-23 11:24     ` Pascal J. Bourguignon
2013-03-21 20:10 ` Drew Adams
2013-03-21 22:09   ` Thorsten Jolitz
     [not found] ` <mailman.22588.1363896620.855.help-gnu-emacs@gnu.org>
2013-03-25 15:24   ` duthen.cnv
2013-03-25 20:02     ` Pascal J. Bourguignon

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=37AB5D102E2E4E8789645A8BBB536837@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=pjb@informatimago.com \
    /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/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.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.