[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue
From: |
Yair Lenga |
Subject: |
Re: Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue 2) |
Date: |
Wed, 7 Sep 2022 04:13:52 -0400 |
Thanks for providing feedback and expanding with new ideas.
I believe the summary is:
${a.key1.key2} - Static fields
${a.key1.$key2} - Mixed dynamic/static, simple substitution.
${a.key1.{complex.$key2}} - For complex keys that may contain anything
${a.key1[expr].key2] - expr is evaluated in numeric context
Did I get it right ?
Yair
On Wed, Sep 7, 2022 at 3:19 AM Martin D Kealey <martin@kurahaupo.gen.nz>
wrote:
> Some things do indeed come down to personal preference, where there are no
> right answers. Then Chet or his successor gets to pick.
>
> Keep in mind that most or all of my suggestions are gated on not being in
> backwards-compatibility mode, and that compat mode itself would be
> lexically scoped. With that in mind, I consider that we're free to *stop*
> requiring existing antipatterns that are harmful to comprehension or
> stability.
>
> I would choose to make parsing numeric expressions happen at the same time
> as parsing whole statements, not as a secondary parser that's always
> deferred until runtime. This would improve unit testing and debugging,
> starting with bash -n being able to complain about syntax errors in
> expressions. (Yes that precludes $(( x $op y )) unless you're in compat
> mode.)
>
> On Mon, 5 Sept 2022 at 19:55, Yair Lenga <yair.lenga@gmail.com> wrote:
>
>> Personally, I think adopting Javascript/Python like approach (${a.b.c} )
>> is preferred over using Perl approach ( ${a{b}{c}} ), or sticking with the
>> existing bash approach. The main reason is that it is better to have a
>> syntax similar/compatible with current/future directions, and not the past.
>>
>
> By having var['key'] and var.key as synonyms, Javascript already sets the
> precedent of allowing multiple ways to do the same thing.
>
> PPS: I'm under no illusions that it will take a LOT of work to move Bash
> this far. But we'll never get there if we keep taking steps in the opposite
> direction, piling on ever more stuff that has to be accounted for in
> "compat" mode.
>
- Re: bug-bash Digest, Vol 238, Issue 2, Yair Lenga, 2022/09/04
- Re: bug-bash Digest, Vol 238, Issue 2, Martin D Kealey, 2022/09/05
- Re: bug-bash Digest, Vol 238, Issue 2, Yair Lenga, 2022/09/05
- Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue 2), Martin D Kealey, 2022/09/07
- Re: Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue 2),
Yair Lenga <=
- Re: Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue 2), Martin D Kealey, 2022/09/12
- Re: Supporting structured data (was: Re: bug-bash Digest, Vol 238, Issue 2), Yair Lenga, 2022/09/07