• Re: Command Languages Versus Programming Languages

    From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Sat Oct 18 00:34:45 2025
    From Newsgroup: comp.lang.misc

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    On 27/08/2024 23:56, Johanne Fairchild wrote:
    Lawrence D'Oliveiro <ldo@nz.invalid> writes:

    On Tue, 27 Aug 2024 03:15:16 -0000 (UTC), Sebastian wrote:

    In comp.unix.programmer Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    (And I have no idea about this “Black” thing. I just do my thing.)

    Black is a [bla bla bla]

    *Yawn*

    The guy was kindly and politely sharing information with you.

    He was sharing the information with _us_, and we're much more important.

    Lawrence was trying to make him feel like we shouldn't receive it or not receive it in context!

    Although there might be some value in the latter because if we killfile
    trolls and their followup chains we'll only receive the useful
    information if it's not given as a followup.

    --
    Tristan Wibberley

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except that you may,
    of course, cite it academically giving credit to me, distribute it
    verbatim as part of a usenet system or its archives, and use it to
    promote my greatness and general superiority without misrepresentation
    of my opinions other than my opinion of my greatness and general
    superiority which you _may_ misrepresent. You definitely MAY NOT train
    any production AI system with it but you may train experimental AI that
    will only be used for evaluation of the AI methods it implements.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Keith Thompson@Keith.S.Thompson+u@gmail.com to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Fri Oct 17 17:13:04 2025
    From Newsgroup: comp.lang.misc

    Johanne Fairchild <jfairchild@tudado.org> writes:
    Lawrence D'Oliveiro <ldo@nz.invalid> writes:
    On Tue, 27 Aug 2024 03:15:16 -0000 (UTC), Sebastian wrote:
    In comp.unix.programmer Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    (And I have no idea about this “Black” thing. I just do my thing.)

    Black is a [bla bla bla]

    *Yawn*

    The guy was kindly and politely sharing information with you.

    For the sake of accuracy, here's what Sebastian wrote (more than a year
    ago):

    Black is a Python program that formats Python code
    almost exactly the way you formatted that snippet of Lisp
    code. It's just as ugly in Python as it is in Lisp. Black
    spreads by convincing organizations to mandate its use. It's
    utterly non-configurable on purpose, in order to guarantee
    that eventually, all Python code is made to be as ugly
    and unreadable as possible.

    This is more exaggerated opinion than information. Of course there's
    nothing wrong with that sharing an opinion, but there's also nothing
    wrong with responding to an inflammatory opinion with a yawn.

    Here's what the "black" man page says:

    NAME
    black - uncompromising Python code formatter

    SUMMARY
    black is the uncompromising Python code formatter. By using it,
    you agree to cede control over minutiae of hand-formatting. In
    return, Black gives you speed, determinism, and freedom from
    pycodestyle nagging about formatting. You will save time and
    mental energy for more important matters.
    --
    Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
    void Void(void) { Void(); } /* The recursive call of the void */
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.lang.misc on Sat Oct 18 02:58:46 2025
    From Newsgroup: comp.lang.misc

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    On 07/08/2024 14:43, Kaz Kylheku wrote:
    On 2024-08-06, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    Equivalent Lisp, for comparison:

    (setf a (cond (b (if c d e))
    (f (if g h i))
    (t j)))

    You can’t avoid the parentheses, but this, too, can be improved:

    (setf a
    (cond
    (b
    (if c d e)
    )
    (f
    (if g h i)
    )
    (t
    j
    )
    ) ; cond
    )

    Nobody is ever going to follow your idio(syncra)tic coding preferences
    for Lisp, that wouldn't pass code review in any Lisp shop, and result in patches being rejected in a FOSS setting.


    If "; cond" went inside the cond form then I'd accept it in general,
    ie. unless I have process or contractual reasons to do otherwise. The
    code has, to an extent greater than most efforts, been made of
    orthogonal syntactic pieces even for the least lisp-aware editors, but
    fails in that particular visual aid ("; cond") when subjected to a
    lisp-aware one (parenthesis matching).

    This is improved:

    (cond ;name-of-the-judgement-as-in-the-documentation
    (b
    (if c d e)
    )
    (f
    (if g h i)
    )
    (t
    j
    )
    ;cond ;name-of-the-judgement-as-in-the-documentation
    )

    I'd have some caveats about the patterns of the code it's going inside,
    ie, how varied does or will the file become but this result, in
    particular, yields to:

    - line-oriented processing and generation,
    - traceability,
    - lisp-aware editors,
    - lisp-unaware editors, and
    - printouts.

    Of course I probably wouldn't be doing medical, aerospace, submarine,
    or weapons development when I accept it in FOSS because of the typical restrictions on making any change at all after acceptance (which just
    means that "accept" has many different meanings and ought be taken to be
    a strictly process oriented word from the activity's GLOSSARY).

    The thing I worry about with coding standards is that they
    surreptitiously form a derived language that's the same from the
    computer's perspective but different among the reader's and you haven't
    really achieved much but improved future task estimation. It would be interesting to know how the costs shift around in practice and what are
    the implications for integrity in billing.

    --
    Tristan Wibberley

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except that you may,
    of course, cite it academically giving credit to me, distribute it
    verbatim as part of a usenet system or its archives, and use it to
    promote my greatness and general superiority without misrepresentation
    of my opinions other than my opinion of my greatness and general
    superiority which you _may_ misrepresent. You definitely MAY NOT train
    any production AI system with it but you may train experimental AI that
    will only be used for evaluation of the AI methods it implements.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.lang.misc on Sat Oct 18 03:09:24 2025
    From Newsgroup: comp.lang.misc

    On 06/08/2024 09:04, Sebastian wrote:

    a = b ? (c ? d : e) :
    f ? (g ? h : i) :
    j;

    I like rolling the operators and statement delimiters over to form the dropsies, you can read them like they introduce the role a line forms
    wrt. the previous lines and works when each line contains suitable
    parentheses to make the AST visually obvious:

    a = b ? (c ? d : e)
    : f ? (g ? h : i)
    : j
    ;

    primarily, b chooses something
    or else fallback to f choosing something
    or else fallback to j
    no more options

    --
    Tristan Wibberley
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Sat Oct 18 04:46:06 2025
    From Newsgroup: comp.lang.misc

    On Sat, 18 Oct 2025 02:58:46 +0100, Tristan Wibberley wrote:

    On 2024-08-06, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    (setf a
    (cond
    (b
    (if c d e)
    ) (f
    (if g h i)
    ) (t
    j
    )
    ) ; cond
    )

    If "; cond" went inside the cond form then I'd accept it in general

    It indicates that the closing statement bracket is for the “cond” construct. Moving it to elsewhere than that closing statement bracket
    would defeat the purpose.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Nuno Silva@nunojsilva@invalid.invalid to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Sat Oct 18 09:28:18 2025
    From Newsgroup: comp.lang.misc

    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at all
    (given that all signataries to the Buenos Aires convention have adhered
    to the Berne convention) "All Rights Reserved" ...


    --
    Tristan Wibberley

    ... oh, a non-signature, I see!
    --
    Nuno Silva
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From yeti@yeti@tilde.institute to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Sat Oct 18 10:00:24 2025
    From Newsgroup: comp.lang.misc

    Nuno Silva <nunojsilva@invalid.invalid> wrote:

    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at all (given that all signataries to the Buenos Aires convention have adhered
    to the Berne convention) "All Rights Reserved" ...

    Just some days ago I was referring in a post to the/my sig below and
    someone reacted in a way that did remind me that some "newsbrowsers"
    have the option to not show sigs at all.

    Maybe I should restart my top sig bottom post experiment. o;-P

    For some sigs I really would prefer not having read them at all, but
    some just add a nice additional comments layer.


    --
    Tristan Wibberley

    ... oh, a non-signature, I see!
    --
    (C)yeti ... Reading this post is completely VERBOTEN!
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Kaz Kylheku@643-408-1753@kylheku.com to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Sat Oct 18 20:26:13 2025
    From Newsgroup: comp.lang.misc

    On 2025-10-18, Nuno Silva <nunojsilva@invalid.invalid> wrote:
    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at all (given that all signataries to the Buenos Aires convention have adhered
    to the Berne convention) "All Rights Reserved" ...

    "All Rights Reserved" means that the author has not waived any
    copyrights; the work may not be copied or redistributed other than by
    the copyright holder.

    "This work may be freely redistributed under such and such conditions"
    and "all rights reserved" are conflicting statements, since the author
    has waived (thus not reserved) the distribution right (to be the sole redistributor).
    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Nuno Silva@nunojsilva@invalid.invalid to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Sun Oct 19 11:30:05 2025
    From Newsgroup: comp.lang.misc

    On 2025-10-18, Kaz Kylheku wrote:

    On 2025-10-18, Nuno Silva <nunojsilva@invalid.invalid> wrote:
    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at all
    (given that all signataries to the Buenos Aires convention have adhered
    to the Berne convention) "All Rights Reserved" ...

    "All Rights Reserved" means that the author has not waived any
    copyrights; the work may not be copied or redistributed other than by
    the copyright holder.

    That is precisely the problem, it does not imply that, the author may
    not have waived any rights, but their rights are still not absolute in a
    way that it cannot be copied or redistributed without their
    approval. Several countries limit the extent of the limitations imposed
    by copyright. "All rights reserved" is misleading precisely because it
    may be understood as "no copying or redistribution allowed".

    "This work may be freely redistributed under such and such conditions"
    and "all rights reserved" are conflicting statements, since the author
    has waived (thus not reserved) the distribution right (to be the sole redistributor).
    --
    Nuno Silva
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Brian Patrie@bpatrie@bellsouth.spamisicky.net to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Tue Oct 21 15:49:38 2025
    From Newsgroup: comp.lang.misc

    Kaz Kylheku wrote:
    On 2025-10-18, Nuno Silva <nunojsilva@invalid.invalid> wrote:
    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted
    in the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at
    all (given that all signataries to the Buenos Aires convention have
    adhered to the Berne convention) "All Rights Reserved" ...

    "All Rights Reserved" means that the author has not waived any
    copyrights; the work may not be copied or redistributed other than by
    the copyright holder.

    "This work may be freely redistributed under such and such conditions"
    and "all rights reserved" are conflicting statements, since the author
    has waived (thus not reserved) the distribution right (to be the sole redistributor).

    In my young, fatuous days, i vandalized a few softwares to say
    "All rights reversed". ;)
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Kaz Kylheku@643-408-1753@kylheku.com to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Tue Oct 21 21:58:20 2025
    From Newsgroup: comp.lang.misc

    On 2025-10-21, Brian Patrie <bpatrie@bellsouth.spamisicky.net> wrote:
    Kaz Kylheku wrote:
    On 2025-10-18, Nuno Silva <nunojsilva@invalid.invalid> wrote:
    On 2025-10-18, Tristan Wibberley wrote:

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted
    in the sig.

    Eh, do drop the quite inaccurate and nowadays even not necessary at
    all (given that all signataries to the Buenos Aires convention have
    adhered to the Berne convention) "All Rights Reserved" ...

    "All Rights Reserved" means that the author has not waived any
    copyrights; the work may not be copied or redistributed other than by
    the copyright holder.

    "This work may be freely redistributed under such and such conditions"
    and "all rights reserved" are conflicting statements, since the author
    has waived (thus not reserved) the distribution right (to be the sole redistributor).

    In my young, fatuous days, i vandalized a few softwares to say
    "All rights reversed". ;)

    A rather toned down departure from the usual, "all riots preserved".

    Also, remember that "vile haters will be prostituted".
    --
    TXR Programming Language: http://nongnu.org/txr
    Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
    Mastodon: @Kazinator@mstdn.ca
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Janis Papanagnou@janis_papanagnou+ng@hotmail.com to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Wed Oct 22 11:40:06 2025
    From Newsgroup: comp.lang.misc

    On 21.10.2025 23:58, Kaz Kylheku wrote:
    On 2025-10-21, Brian Patrie <bpatrie@bellsouth.spamisicky.net> wrote:
    [...]
    "All rights reversed". ;)

    A rather toned down departure from the usual, "all riots preserved".

    Also, remember that "vile haters will be prostituted".

    Those all sound very funny. - Is there some collection or compilation
    of such sayings available somewhere?

    Janis

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Nuno Silva@nunojsilva@invalid.invalid to comp.unix.shell,comp.unix.programmer,comp.lang.misc on Wed Oct 22 23:13:33 2025
    From Newsgroup: comp.lang.misc

    On 2025-10-22, Janis Papanagnou wrote:

    On 21.10.2025 23:58, Kaz Kylheku wrote:
    On 2025-10-21, Brian Patrie <bpatrie@bellsouth.spamisicky.net> wrote:
    [...]
    "All rights reversed". ;)

    A rather toned down departure from the usual, "all riots preserved".

    Also, remember that "vile haters will be prostituted".

    Those all sound very funny. - Is there some collection or compilation
    of such sayings available somewhere?

    Possibly a topic for alt.folklore.computers?
    --
    Nuno Silva

    Copyleft (ↄ) MMXXV All Wrongs Reversed
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Janis Papanagnou@janis_papanagnou+ng@hotmail.com to comp.unix.shell,comp.unix.programmer,comp.lang.misc,alt.folklore.computers on Thu Oct 23 04:56:47 2025
    From Newsgroup: comp.lang.misc

    On 23.10.2025 00:13, Nuno Silva wrote:
    On 2025-10-22, Janis Papanagnou wrote:
    On 21.10.2025 23:58, Kaz Kylheku wrote:
    On 2025-10-21, Brian Patrie <bpatrie@bellsouth.spamisicky.net> wrote:
    [...]
    "All rights reversed". ;)

    A rather toned down departure from the usual, "all riots preserved".

    Also, remember that "vile haters will be prostituted".

    Those all sound very funny. - Is there some collection or compilation
    of such sayings available somewhere?

    Possibly a topic for alt.folklore.computers?

    Good hint, thanks. - I'll see whether there's folks around there...

    [ followup-to: alt.folklore.computers set ]

    Janis

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.lang.misc on Sat Oct 25 19:06:04 2025
    From Newsgroup: comp.lang.misc

    On 18/10/2025 05:46, Lawrence D’Oliveiro wrote:
    On Sat, 18 Oct 2025 02:58:46 +0100, Tristan Wibberley wrote:
    On 2024-08-06, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    ...

    )
    ) ; cond
    )

    If "; cond" went inside the cond form then I'd accept it in general

    It indicates that the closing statement bracket is for the “cond” construct. Moving it to elsewhere than that closing statement bracket
    would defeat the purpose.

    Putting it just before the closing parenthesis is sufficient to support
    the purpose and is more compatible with lisp aware editors.

    --
    Tristan Wibberley

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except that you may,
    of course, cite it academically giving credit to me, distribute it
    verbatim as part of a usenet system or its archives, and use it to
    promote my greatness and general superiority without misrepresentation
    of my opinions other than my opinion of my greatness and general
    superiority which you _may_ misrepresent. You definitely MAY NOT train
    any production AI system with it but you may train experimental AI that
    will only be used for evaluation of the AI methods it implements.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Sat Oct 25 21:56:33 2025
    From Newsgroup: comp.lang.misc

    On Sat, 25 Oct 2025 19:06:04 +0100, Tristan Wibberley wrote:

    On 18/10/2025 05:46, Lawrence D’Oliveiro wrote:

    On Sat, 18 Oct 2025 02:58:46 +0100, Tristan Wibberley wrote:

    On 2024-08-06, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    ...

    )
    ) ; cond
    )

    If "; cond" went inside the cond form then I'd accept it in
    general

    It indicates that the closing statement bracket is for the “cond”
    construct. Moving it to elsewhere than that closing statement
    bracket would defeat the purpose.

    Putting it just before the closing parenthesis is sufficient to
    support the purpose and is more compatible with lisp aware editors.

    Except that the semicolon indicates that everything on the line after
    it is a comment. Putting it “just before the closing parenthesis”
    would mean you no longer had a closing parenthesis. That’s why I put
    it after.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.lang.misc on Tue Oct 28 16:28:35 2025
    From Newsgroup: comp.lang.misc

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except as noted in
    the sig.

    On 25/10/2025 22:56, Lawrence D’Oliveiro wrote:
    ... the semicolon indicates that everything on the line after
    it is a comment. Putting it “just before the closing parenthesis”
    would mean you no longer had a closing parenthesis.

    I was being whitespace-ignorant. If you looked at my actual code-variant
    which you snipped you would have seen "just before" refered to the line
    before.

    set +enhanced-ambiguity-resolution-in-conversational-language

    here it is again:

    )
    ;cond ;name-of-the-judgement-as-in-the-documentation
    )

    --
    Tristan Wibberley

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except that you may,
    of course, cite it academically giving credit to me, distribute it
    verbatim as part of a usenet system or its archives, and use it to
    promote my greatness and general superiority without misrepresentation
    of my opinions other than my opinion of my greatness and general
    superiority which you _may_ misrepresent. You definitely MAY NOT train
    any production AI system with it but you may train experimental AI that
    will only be used for evaluation of the AI methods it implements.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Tue Oct 28 23:20:20 2025
    From Newsgroup: comp.lang.misc

    On Tue, 28 Oct 2025 16:28:35 +0000, Tristan Wibberley wrote:

    )
    ;cond ;name-of-the-judgement-as-in-the-documentation
    )

    Now, how do we know whether that “;cond” line is referring to the parenthesis on the line before, or the one on the line after, or
    something else entirely?
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Tristan Wibberley@tristan.wibberley+netnews2@alumni.manchester.ac.uk to comp.lang.misc on Wed Oct 29 13:35:30 2025
    From Newsgroup: comp.lang.misc

    On 28/10/2025 23:20, Lawrence D’Oliveiro wrote:
    On Tue, 28 Oct 2025 16:28:35 +0000, Tristan Wibberley wrote:

    )
    ;cond ;name-of-the-judgement-as-in-the-documentation
    )

    Now, how do we know whether that “;cond” line is referring to the parenthesis on the line before, or the one on the line after, or
    something else entirely?

    I must here allow you the space to view the appropriate message and
    apply brain.

    --
    Tristan Wibberley

    The message body is Copyright (C) 2025 Tristan Wibberley except
    citations and quotations noted. All Rights Reserved except that you may,
    of course, cite it academically giving credit to me, distribute it
    verbatim as part of a usenet system or its archives, and use it to
    promote my greatness and general superiority without misrepresentation
    of my opinions other than my opinion of my greatness and general
    superiority which you _may_ misrepresent. You definitely MAY NOT train
    any production AI system with it but you may train experimental AI that
    will only be used for evaluation of the AI methods it implements.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.lang.misc on Wed Oct 29 22:13:14 2025
    From Newsgroup: comp.lang.misc

    On Wed, 29 Oct 2025 13:35:30 +0000, Tristan Wibberley wrote:

    On 28/10/2025 23:20, Lawrence D’Oliveiro wrote:

    On Tue, 28 Oct 2025 16:28:35 +0000, Tristan Wibberley wrote:

    )
    ;cond ;name-of-the-judgement-as-in-the-documentation
    )

    Now, how do we know whether that “;cond” line is referring to the
    parenthesis on the line before, or the one on the line after, or
    something else entirely?

    I must here allow you the space to view the appropriate message and
    apply brain.

    Not to mention the extra verbosity of the hint text your closing
    symbol requires, your method doesn’t scale. Try applying it to a
    moderately more complex example:

    (let
    (
    ...
    (delete-between
    (lambda (find-opener find-closer)
    ; deletes regions between successive pairs of points
    ; identified by find-opener and find-closer callbacks
    (goto-char (point-min))
    (while (funcall find-opener)
    (let*
    (
    (end-tag (point))
    (start-tag
    (progn
    (search-backward "<" nil nil)
    (point)
    ) ; progn
    )
    )
    (goto-char end-tag)
    (funcall find-closer)
    (delete-region start-tag (point))
    ) ; let*
    ) ; while
    ) ; lambda
    ) ; delete-between
    count
    )
    ...
    ) ; let
    --- Synchronet 3.21a-Linux NewsLink 1.2