Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.awk > #10025

Re: nested ternary discovery

From Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups comp.lang.awk
Subject Re: nested ternary discovery
Date 2025-10-11 16:58 +0000
Organization A noiseless patient Spider
Message-ID <20251011094656.721@kylheku.com> (permalink)
References <10c866d$2lhr4$1@dont-email.me> <10c8j6q$2tqge$1@dont-email.me> <10cdg2t$nu0u$1@dont-email.me>

Show all headers | View raw


On 2025-10-11, Mike Sanders <porkchop@invalid.foo> wrote:
> On Thu, 9 Oct 2025 17:09:13 +0200, Janis Papanagnou wrote:
>
>> (Let's call it "cascaded". Nested conditionals would in the general
>> case - where you'd have another level of conditionals between the
>> '?' and ':' - look even more complex and be much less readable, in
>> both variants, conditional statements and conditional expressions.)
>
> 'Cascaded' - nice & clear distinction.

It is nesting, but it is right associative. This is nesting:

if (c1)  {
} else {
  if (c2) {
  } else {
     if (c3) {
     }
  }
}

Its still nesting when we remove the extra braces around the 
alternative ifs:

if (c1)  {
} else
  if (c2) {
  } else
     if (c3) {
     }

The c3 if is a constituent  expression (i.e. nested within)
the c2 if, which is nested within the c1 if.

Because the nesting is right-leaning we can think of it as linear.
and write it that way/

if (c1)  {
} else if (c2) {
} else if (c3) {
}

Same like Lisp lists where we have a right-leaning structure

   .
 a   .
    b  .
      c  nil

coresponding to the notation

(a . (b . (c . nil)))

which is preferentially spelled without the dots and extra
parenteheses as:

(a b c)

and so then we call that a list; and not a nested list.Only this kind of
object is called a nested list:

(a (b c) d)

The cell structure is nested, and so is the explicit dot notation
for it.  The list isn't nested, because the concept "list" is the name
for a right-leaning nesting of the cell structure, viewed linearly,
with an accompanying flat notation.


-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Back to comp.lang.awk | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-09 11:27 +0000
  Re: nested ternary discovery Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-10-09 17:09 +0200
    Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-10 19:38 +0000
    Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-11 11:46 +0000
      Re: nested ternary discovery Kaz Kylheku <643-408-1753@kylheku.com> - 2025-10-11 16:58 +0000
        Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-12 03:47 +0000
      Re: nested ternary discovery Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-10-12 01:54 +0200
        Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-12 03:49 +0000
  Re: nested ternary discovery Kaz Kylheku <643-408-1753@kylheku.com> - 2025-10-09 16:59 +0000
  Re: nested ternary discovery mack@the-knife.org (Mack The Knife) - 2025-10-10 08:10 +0000
    Re: nested ternary discovery Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-10-10 13:06 +0200
    Re: nested ternary discovery Kaz Kylheku <643-408-1753@kylheku.com> - 2025-10-10 17:04 +0000
      Re: nested ternary discovery mack@the-knife.org (Mack The Knife) - 2025-10-11 17:44 +0000
        Re: nested ternary discovery Kaz Kylheku <643-408-1753@kylheku.com> - 2025-10-11 18:46 +0000
          Re: nested ternary discovery mack@the-knife.org (Mack The Knife) - 2025-10-13 08:07 +0000
    Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-10 19:41 +0000
    Re: nested ternary discovery Mike Sanders <porkchop@invalid.foo> - 2025-10-11 11:55 +0000
      Re: nested ternary discovery Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-10-12 01:45 +0200
      Re: nested ternary discovery dave_thompson_2@comcast.net - 2025-10-12 20:58 -0400
        Re: nested ternary discovery Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-10-13 04:30 +0200

csiph-web