• [meta] Newsreader and formatting (was Re: _BitInt(N))

    From Janis Papanagnou@3:633/10 to All on Fri Nov 28 02:56:44 2025
    Am 28.11.25 um 01:39 schrieb Keith Thompson:
    bart <bc@freeuk.com> writes:
    [...]

    Can you *please* do something about the way your newsreader
    (apparently Mozilla Thunderbird) mangles quoted text? That first
    quoted line, starting with "> How exactly", would have been just
    74 columns, but your newsreader folded it, making it more difficult
    to read. It also deletes blank lines between paragraphs.

    I don't recall similar problems from other Thunderbird users.
    Actually Thunderbird is not very good in doing formatting;
    it's okay in cases where conventions are followed, but some
    types of replies just can't be (or aren't, at least) handled
    automatically. (Guessing a free-style format is ambitious.)

    Depending on the format and text quoted you sometimes need
    some additional manual formatting effort, especially if line
    lengths exceed the [historic] conventions, and if lines are
    manually split to respond to parts separately. Some posters
    just don't seem care much creating readable formatted text
    which includes to "fix" effects of that specific newsreader.

    But the format I see created from your newsreader (where you
    quoted bart) appears also "wrongly formatted". If I test-wise
    reply to bart's post the formatting of Thunderbird is okay.

    So it boils down, I think, that deviating from the posting
    standards will always create one or another formatting issue.
    (I'd vote for following historic conventions but I'm positive
    that wish won't come true.)

    A practical hint for Thunderbird users; marking a "corrupt"
    paragraph with the mouse and typing Ctrl-R reformats the text
    (including quoted parts by rearranging the indent characters).
    But of course don't try to do that with _preformatted_ texts
    like source code.

    Janis


    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From bart@3:633/10 to All on Tue Dec 2 14:12:42 2025
    On 02/12/2025 13:15, Janis Papanagnou wrote:
    On 2025-12-02 13:21:32, bart wrote:
    So:

    ˙˙ if .. then begin ... end else begin ... end

    ... represents multiple statements.

    Even I would see braces in a more favourable light. I wonder why it
    took some years for language designers to realise you could simply have:

    ˙˙ if .. then ... else ... end

    You're misrepresenting history, or at least convey the impression
    that this would be something new and previously obscure,

    I'm not misrepresenting anything at all. For example Algol60 needed
    begin-end if you wanted several statements in a block; Algol68 made that optional.

    There are 'some years' between them.

    or that
    language designers would not know all these syntactical options.

    You had the˙ if .. then ... else ... fi˙ syntax as paragon in the
    back then by language experts well known Algol 68 language, it's
    been inherited (also in comparable forms), e.g. by the common Unix
    shell, also in "more recent" languages (with "end") in Eiffel, for
    example.

    It's everywhere now with 'end'-based languages: Ada, modern Fortran,
    Lua, Ruby. Even Wirth adopted it Modula-2.


    The huge impact of the "C" language syntax might have made that
    less visible in the modern, contemporary (used, hyped) languages.
    But there's really nothing to "realize" by language designers, I'm
    sure.

    Language designers were hung up on the concept of allowing only a single statement for each branch of a structured statement like 'if' or the
    body of a loop, or of a function. I guess it made their grammars simpler.

    This applies to C too. So if someone wanted multiple statements, then
    they need to use a special 'compound statement' which needed enclosure:

    {s1; s2; s3;}
    begin s1; s2; s3 end

    This now counts as single statement to satisfy the requirement. (Note C requires a compound statement for a function body, even if it is just
    one statement.)

    So, what they had to realise was they could simply allow N statements
    instead of 1, in such contexts. The only problem then was in delimiting
    that sequence.

    Some syntaxes could use a token like 'end' on the final block of a
    structured statement (previous ones being delimited by then ... else for example), but that didn't work for braces, so C-like syntaxes are stuck
    with the notion of a single statement per branch.

    Some others now use significant white space, a more fragile approach.


    --- PyGate Linux v1.5.1
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)