The article discusses the development and community discussions surrounding a new pattern-matching conditional, cond, in Emacs Lisp (Elisp), introduced by Richard Stallman as a simpler alternative to the existing pcase macro. It covers the motivations behind the effort, including the desire for simplification and better maintainability, as well as the extensive debates within the Emacs community regarding the necessity, design, and implementation of cond. Highlighted are the various viewpoints on cond*’s inclusion, its advantages over pcase, and the political considerations influencing its adoption. The article emphasizes the importance of community consensus and cooperation in the evolution of Emacs.

Main Points

Development of cond* by Richard Stallman

Richard Stallman’s development of a new pattern-matching conditional, cond*, aims to simplify and clarify pattern-matching in Elisp, offering a simpler alternative to the complex pcase.

Community discussions on cond*

The emacs-devel mailing list has been a platform for extensive discussions on the necessity, design, and implications of introducing cond* as an alternative to pcase.

Stallman's approach to simplification

Stallman’s approach to developing cond* focuses on avoiding the complexity of pcase by combining the cond and let constructs, aiming for a more intuitive pattern-matching mechanism.

Debates on implementation and impact

The addition of cond* to Emacs has spurred debates about its implementation, documentation, and potential impact, highlighting differing opinions within the Emacs community.

Influence of political considerations

Political considerations and the aim to maintain a cohesive community influenced the decision to incorporate cond* into Emacs, reflecting the importance of consensus among contributors.

Insights

Richard Stallman's efforts to simplify Elisp have led to the creation of a new pattern-matching conditional, cond*, intended as a simpler alternative to pcase.

Back in November, discussions about using Common Lisp features in Emacs Lisp resulted in an effort to remove some uses of the Common Lisp library from Emacs. Richard Stallman began reconsidering the complexity of pcase, leading to the development of cond*.

The development of cond* has sparked extensive discussions within the Emacs community, covering its necessity, design, and impact.

The introduction of cond* led to long threads on the emacs-devel mailing list, with participants debating the need for a pcase alternative, potential designs, and the benefits or drawbacks of such a move.

Stallman's approach with cond* focuses on simplification and clarity, aiming to make pattern-matching in Elisp more accessible.

Stallman criticized pcase for being “so concise it is downright cryptic”, and aimed to develop cond* to avoid the complexity of pcase, mixing the cond and let constructs for a simpler and more intuitive pattern-matching mechanism.

The Emacs community is divided on the introduction of cond*, with ongoing discussions about its implementation and documentation.

The emacs-devel mailing list has hosted a vibrant debate on cond*, discussing its benefits, implementation details, and the approach towards its documentation and possible inclusion in Emacs Lisp tutorials.

Political considerations have played a role in the decision to incorporate cond* into Emacs, highlighting the importance of community consensus.

The decision to include cond* as an alternative to pcase in Emacs core was influenced by political considerations, with co-maintainers emphasizing the need to work together and respect diverse opinions within the community.

Links

URL

https://lwn.net/Articles/961682/
Hi Josh Adams, I am your personal AI. What would you like to ask about your notes?