unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: wilnerthomas--- via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: Drew Adams <drew.adams@oracle.com>
Cc: Emanuel Berg <incal@dataswamp.org>,
	"help-gnu-emacs@gnu.org" <help-gnu-emacs@gnu.org>
Subject: RE: [External] : Re: Setting up abbrev
Date: Mon, 1 Aug 2022 18:57:57 +0200 (CEST)	[thread overview]
Message-ID: <N8PKvoG--3-2@tutanota.com> (raw)
In-Reply-To: <SJ0PR10MB548892C62DB800E5326EEB1EF39A9@SJ0PR10MB5488.namprd10.prod.outlook.com>

Aug 1, 2022, 16:36 by drew.adams@oracle.com:

>> >> Only a pair is a list as well ...
>> >
>> > Yes.  But a list isn't a pair. ;-)
>>
>> Every pair is a list but every list isn't a pair ...
>>
> |
>  not every list is a pair
>
> "Not every X is" = "some X isn't" != "every X isn't"
>
>> Well, maybe one can think of a pair without order, i.e.
>> a set of two items?
>>
>> The _ordered_ pair is the universal data structure that can
>> express anything then. The list is equally universal but the
>> ordered pair is the minimal working example, to speak with the
>> LaTeX guys ...
>>
>
> Yes, ordered pair.  That's a cons.
>
>> > As for the (a . b) _notation_: Why not? JSON uses `:'.
>> > Prolog uses `|'. Doesn't matter much what notation you
>> > choose. OOPs often use a dot notation for method
>> > application. Six of one; half a dozen of another...
>>
>> Okay, but I still don't understand the benefit of using it in
>> practice compared to the list (a b)?
>>
>
> Do you mean use the _notation_?  I guess you instead
> mean use a dotted list: a list whose last cdr is a
> non-nil atom.
>
> If so, the answer is that in general you do want to
> use a true/proper list (last cdr is nil), and NOT a
> dotted list.  For many reasons, not least of which
> is using a function that needs to traverse all list
> elements (e.g. `length', mapping/sequence functions).
>
> You can use a dotted list in these cases:
>
> 1. You want to save conses (not create so many), in
> a context where you're not going to be needing to
> use the cons as a list (mapping etc.), or a context
> where you know you'll only ever want an atom cdr.
>
> 2. You want/need, in effect, to have a backwards
> key-value pair, (list-value . atom-key).  You have
> a list to use for most purposes (ignoring the last
> cdr), and you have an atom (the cdr) for a few rare
> purposes, as a kind of label for the list.
>
> #2 is usually the result of trying to adapt to
> legacy code that expects to treat just a list (and
> doesn't need to follow it to its end).  IOW, #2 is
> typically an ugly hack.  For new code you'd instead
> just put the atom first: (atom-key . list-value).
>
You are all very good at technical entertainment but not how to show the way
 to use multiple lists.

(setq  tb2  '( ("all" "l")  ("as" "as") ))
 (setq  tb3  '( ("again" "ag")  ("any" "n") ))
(define-abbrev-table 'global-abbrev-table tb1)
(define-abbrev-table 'global-abbrev-table tb2)


  reply	other threads:[~2022-08-01 16:57 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-31 12:23 Setting up abbrev wilnerthomas--- via Users list for the GNU Emacs text editor
2022-07-31 13:08 ` Jean Louis
2022-08-01  3:06   ` Emanuel Berg
2022-08-01  6:04     ` Jean Louis
2022-08-01  7:42       ` Emanuel Berg
     [not found] ` <YuZ+ucBrwA9vOR/F@protected.localdomain-N8JMuQk----2>
2022-07-31 15:35   ` wilnerthomas--- via Users list for the GNU Emacs text editor
2022-07-31 16:40     ` [External] : " Drew Adams
2022-08-01  6:21       ` Jean Louis
2022-08-01  6:05     ` Jean Louis
2022-07-31 20:02 ` kf
2022-08-01  3:03 ` Emanuel Berg
2022-08-01 10:41   ` uzibalqa
2022-08-01 11:39     ` Emanuel Berg
2022-08-01 14:56       ` [External] : " Drew Adams
2022-08-01 15:14         ` Emanuel Berg
2022-08-01 16:36           ` Drew Adams
2022-08-01 16:57             ` wilnerthomas--- via Users list for the GNU Emacs text editor [this message]
2022-08-01 18:36             ` Emanuel Berg
2022-08-01 19:20               ` Drew Adams
2022-08-01 16:56       ` tomas
2022-08-01 18:40         ` Emanuel Berg
2022-08-01 20:37           ` tomas
2022-08-01 11:33   ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-08-01 11:42     ` Emanuel Berg
2022-08-01 12:54       ` carlmarcos--- via Users list for the GNU Emacs text editor

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=N8PKvoG--3-2@tutanota.com \
    --to=help-gnu-emacs@gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=incal@dataswamp.org \
    --cc=wilnerthomas@tutanota.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.
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).