From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.tangents Subject: Re: The poor state of documentation of pcase like things. Date: Sun, 03 Jan 2016 15:07:53 +0100 Message-ID: <8760zakb7q.fsf@fencepost.gnu.org> References: <20151216202605.GA3752@acm.fritz.box> <87io3m60bq.fsf@web.de> <877fk1nnk0.fsf@web.de> <8760zlue3j.fsf@gmail.com> <87vb7kajgv.fsf@web.de> <83y4c9ag06.fsf@gnu.org> <87bn95m9eg.fsf@fencepost.gnu.org> <5686CDFB.2010105@dancol.org> <83fuygcs5g.fsf@gnu.org> <56886E32.70305@yandex.ru> <83si2f9ve4.fsf@gnu.org> <56889EC3.3040108@yandex.ru> <877fjrkpdf.fsf@fencepost.gnu.org> <56892334.4000106@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1451833937 22904 80.91.229.3 (3 Jan 2016 15:12:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 3 Jan 2016 15:12:17 +0000 (UTC) Cc: michael_heerdegen@web.de, Eli Zaretskii , dancol@dancol.org, emacs-tangents@gnu.org To: Dmitry Gutov Original-X-From: emacs-tangents-bounces+get-emacs-tangents=m.gmane.org@gnu.org Sun Jan 03 16:12:16 2016 Return-path: Envelope-to: get-emacs-tangents@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aFkKN-0005J9-NJ for get-emacs-tangents@m.gmane.org; Sun, 03 Jan 2016 16:12:15 +0100 Original-Received: from localhost ([::1]:41863 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFkKN-0001aL-4C for get-emacs-tangents@m.gmane.org; Sun, 03 Jan 2016 10:12:15 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34875) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFjKF-0006IL-B7 for emacs-tangents@gnu.org; Sun, 03 Jan 2016 09:08:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aFjKD-0002s6-U8 for emacs-tangents@gnu.org; Sun, 03 Jan 2016 09:08:02 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41333) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFjK6-0002rc-CC; Sun, 03 Jan 2016 09:07:54 -0500 Original-Received: from localhost ([127.0.0.1]:37762 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1aFjK5-00072w-Iq; Sun, 03 Jan 2016 09:07:53 -0500 Original-Received: by lola (Postfix, from userid 1000) id 43A3ADF551; Sun, 3 Jan 2016 15:07:53 +0100 (CET) In-Reply-To: <56892334.4000106@yandex.ru> (Dmitry Gutov's message of "Sun, 3 Jan 2016 15:33:40 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Mailman-Approved-At: Sun, 03 Jan 2016 10:12:11 -0500 X-BeenThere: emacs-tangents@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-tangents-bounces+get-emacs-tangents=m.gmane.org@gnu.org Original-Sender: emacs-tangents-bounces+get-emacs-tangents=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.tangents:67 Archived-At: Dmitry Gutov writes: > On 01/03/2016 11:02 AM, David Kastrup wrote: > >> Uh what? Whether pcase does not help with simple cases should have >> little bearing on whether it helps with more complex cases. > > But it does. It takes less code, You mean, less input. > and follows the common design of pattern matching, which isn't hard to > understand and internalize. And yet Emacs has more than just regexp operations for dealing with strings, and most string operations are carried out without reverting to regexps. > In the more complex cases, the syntax may have some thorns, Then it's not doing a good job of reducing complexity. If it requires me to use quasiquote for stuff that contains neither unquote nor unquote-splicing (and has no sensible interpretation of unquote-splicing in connection with its own use of quasiquote anyway), it does a bad human interfacing job. Why do I need to quote self-quoting expressions at all? And why do self-quoting symbols differ in meaning when preceded by quasiquote? In Lisp, `nil is equivalent to nil . That's not what pcase sees, I think. What's actually involved here is that quoted parts are matched literally, and unquoted symbols are matched to single elements. Special-casing only ` and , to work according to that equivalence leads to awkward input, awkward reading, and premature complexity. > So if a person refuses to use it, *and* would choose to rewrite it > using `cond' on any occasion, that tells me they won't reach for it in > the more complex cases either. We don't forcefeed people complex constructs for simple cases. Even the ubiquitous quasiquote is not used gratuitously in our code base just to get people used to the idea they might want to use it in cases where it would actually be needed in connection with unquote or unquote-splicing. >> You are arguing as if we were paid for its use, not as if it had >> inherent value. > > If *you* use it, *I* get to read it, and enjoy the succinctness and > readability. And it's easier to extend later. It is less succinct and readable than existing quite less complex utilities for simple uses. -- David Kastrup