unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Using "pcase" as part of names is inhelpful.
@ 2017-12-09 22:00 Richard Stallman
  2017-12-09 22:35 ` John Wiegley
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Richard Stallman @ 2017-12-09 22:00 UTC (permalink / raw)
  To: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

The construct 'pcase' uses patterns to test and destructure
objects while selecting among various cases.

Now we are adding other constructs that use patterns to destructure
objects.  These constructs have nothing to do with selecting among
cases.  Thus, 'pcase' in their names makes for misleading names.
The only part of the name 'pcase' that refers to the use of
patterns is the letter 'p'.

Referring users to 'pcase' to understand the use of patterns is
unhelpful since 'pcase' includes conceptual complexity (about cases)
that isn't present in the new constructs.

We should give the new constructs names that fit them without a
distracting element.  What would be good new names?

We could use 'plet' and 'plambda'.  Or 'pattern-let' and 'pattern-lambda'.

We could follow the example of Common Lisp 'destructuring-bind', to
create 'destructuring-let' and 'destructuring-lambda'.

Let's mark the old names 'pcase-...' obsolete so that they won't build
up in Lisp code.
-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
Skype: No way! See https://stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-12-11 14:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-09 22:00 Using "pcase" as part of names is inhelpful Richard Stallman
2017-12-09 22:35 ` John Wiegley
2017-12-09 23:01   ` Paul Eggert
2017-12-10 21:44   ` Richard Stallman
2017-12-10  1:07 ` Robert Weiner
2017-12-10 21:45   ` Richard Stallman
2017-12-11 14:31 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).