From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Too fine design granularity leads to numerous macro/function/command existed in Emacs. Date: Fri, 13 Aug 2021 12:11:29 +0200 Message-ID: <87czqh3b8u.fsf@zoho.eu> References: Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2038"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:1v250yVvHtysW8MQ1Jaip0sT8ns= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Aug 13 12:12:19 2021 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 1mEUAl-0000Ik-Fk for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 12:12:19 +0200 Original-Received: from localhost ([::1]:47852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mEUAj-0006jY-Bk for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 13 Aug 2021 06:12:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40154) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEUAC-0006it-Po for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 06:11:44 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:58368) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEUA9-0001UF-Vm for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 06:11:44 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mEUA7-000A5B-KR for help-gnu-emacs@gnu.org; Fri, 13 Aug 2021 12:11:39 +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: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 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:132497 Archived-At: Arthur Miller wrote: > Not to mention, that writing lisp is almost like writing > pseudo-algorithm. If you reflect over the names chosen in > that function, you can almost see that it was codded on the > go, as I was thinking of it. Compare that to pipes and names > like tr and cut and what not in your original shell > solution. So it is a kind of simplicity, in my eyes, to use > just one language, and I guess also a bit of personal > preferance of course. As for development time, if that's the right word, it must be much, much faster using the shell, which is mostly about combining well known tools often with options and pattern that return over and over - it is very, very fast. Compare - this takes as long to do, as it takes to type it: #! /bin/zsh longest-line () { local f=$1 awk '{ print length($0) " " $0; }' $f | sort -n | tail -1 } with this - now, I had a function that worked along similar lines (ha) so for that reason, it wasn't that slow to write compared to the shell, without that, I don't know, depends on the current state/shape :) ;;; -*- lexical-binding: t -*- (defun sort-lines-length (beg end) (interactive (if (use-region-p) (list (region-beginning) (region-end)) (list (point-min) (point-max)) )) (save-excursion (save-restriction (narrow-to-region beg end) (goto-char (point-min)) (sort-subr nil #'forward-line #'end-of-line nil nil (lambda (a b) (> (- (cdr a) (car a)) (- (cdr b) (car b)) )))))) (defalias 'sll #'sort-lines-length) https://dataswamp.org/~incal/conf/.zsh/text https://dataswamp.org/~incal/emacs-init/sort-incal.el -- underground experts united https://dataswamp.org/~incal