From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: [External] : Re: Setting up abbrev Date: Mon, 01 Aug 2022 17:14:42 +0200 Message-ID: <87zggoatct.fsf@dataswamp.org> References: <87k07sfywz.fsf@dataswamp.org> <87tu6wchw5.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21982"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:hDNz4Jy/RlarV85V8THHJoODQ9k= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 01 17:16:34 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oIX9l-0005YY-P7 for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 01 Aug 2022 17:16:33 +0200 Original-Received: from localhost ([::1]:40204 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oIX9k-0004ow-Bl for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 01 Aug 2022 11:16:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56572) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oIX8D-0004oX-EQ for help-gnu-emacs@gnu.org; Mon, 01 Aug 2022 11:14:57 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:40578) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oIX8B-0002Us-8C for help-gnu-emacs@gnu.org; Mon, 01 Aug 2022 11:14:57 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oIX88-0003Pq-Qa for help-gnu-emacs@gnu.org; Mon, 01 Aug 2022 17:14:52 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:138721 Archived-At: Drew Adams wrote: >> 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 ... 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 ... >> In practice - here, someone maybe disagrees? - but in my >> experience I don't see why that should be used ... >> >> And I don't know why it was ever essential to the point it >> even got to symbolize Lisp on a couple of occasions? >> >> Maybe that box diagram with arrows to make up a cons cell >> link-list-fragment just looked neat and interesting ... > > 1. Key-value pairs are quite common - far beyond Lisp. Sure, it's universal, and in particular Lisp is the most universal of all programming languages ;) > 2. A cons is a key-value pair. > > But the constructor function `cons' is more/other than that. > As a key-value pair, (cons a (cons b c)) has key `a' and > value key-value pair (b . c). Not your typical key-value > pair use case - not typically thought of that way, at least. > > 3. A fundamental structure-building thingie in our universe > is the unary constructor, `s' (successor function). > Together with the nullary constructor, `0', it gives you > the Natural numbers - pretty foundational. > > The next structure-building thingie is the binary > constructor, `cons'. Together with nullary constructor `nil' > it gives you key-value pairs, or if you prefer, essentially > all structures/constructions - sculptures of all sorts. > > Syntax-tree and function-application are fundamental > structures for programs and (other) data. In Lisp, both are > directly, unabashedly, handled as conses. > > If you want lists then you have conses. If you want trees > then you have conses. > > 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)? -- underground experts united https://dataswamp.org/~incal