unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: Too fine design granularity leads to numerous macro/function/command existed in Emacs.
Date: Fri, 13 Aug 2021 12:11:29 +0200	[thread overview]
Message-ID: <87czqh3b8u.fsf@zoho.eu> (raw)
In-Reply-To: AM9PR09MB497730B9596E8B15F8DE6BFD96FA9@AM9PR09MB4977.eurprd09.prod.outlook.com

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




  reply	other threads:[~2021-08-13 10:11 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-13  7:12 Too fine design granularity leads to numerous macro/function/command existed in Emacs Hongyi Zhao
2021-08-13  7:25 ` Eli Zaretskii
2021-08-14  0:46   ` Hongyi Zhao
2021-08-14  6:18     ` Eli Zaretskii
2021-08-14  6:29       ` Hongyi Zhao
2021-08-14  7:18         ` Eli Zaretskii
2021-08-14  7:25           ` Hongyi Zhao
2021-08-14  7:47             ` Eli Zaretskii
2021-08-13  7:57 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13  8:34   ` Hongyi Zhao
2021-08-13  8:56     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13  9:20       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13  9:26 ` Arthur Miller
2021-08-13 10:11   ` Emanuel Berg via Users list for the GNU Emacs text editor [this message]
2021-08-13 13:00     ` [OFF TOPIC] Algorithms (was: Re: Too fine design granularity leads to numerous macro/function/command existed in Emacs.) 2QdxY4RzWzUUiLuE
2021-08-13 13:07       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 13:17         ` Yuri Khan
2021-08-13 13:26           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 13:48     ` Too fine design granularity leads to numerous macro/function/command existed in Emacs Arthur Miller
2021-08-13 18:21       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 20:47         ` Arthur Miller
2021-08-13 23:42           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-14  0:24             ` Hongyi Zhao
2021-08-14  0:42               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-14  1:02                 ` Hongyi Zhao
2021-08-14  2:18                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-14  1:46             ` Arthur Miller
2021-08-13 23:49         ` Hongyi Zhao
2021-08-13 23:54           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 14:15   ` Eli Zaretskii
2021-08-13 14:42     ` Arthur Miller
2021-08-13 15:59       ` Eli Zaretskii
2021-08-13 17:09         ` Arthur Miller
2021-08-13 18:16       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 23:40       ` Hongyi Zhao
2021-08-13 23:45         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 23:57           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-08-13 23:47         ` Emanuel Berg via Users list for the GNU Emacs text editor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czqh3b8u.fsf@zoho.eu \
    --to=help-gnu-emacs@gnu.org \
    --cc=moasenwood@zoho.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).