Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.awk > #10025
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar
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