9front - general discussion about 9front
 help / color / mirror / Atom feed
From: Stanley Lieber <sl@stanleylieber.com>
To: 9front@9front.org
Subject: Re: [9front] Re: commit 2f8a59f4b5bfe028c022855acc19666d69eed909
Date: Sat, 10 Jul 2021 10:16:13 -0400	[thread overview]
Message-ID: <C0523D36-8931-4F80-A505-11611B14AB31@stanleylieber.com> (raw)
In-Reply-To: <CAFSF3XO8HG-R9QUyz58O9iAYxRZ-3aeB2g+xE_KbRRHNrir3Xw@mail.gmail.com>

On July 10, 2021 3:25:48 AM EDT, hiro <23hiro@gmail.com> wrote:
>that is how every subshell works, yes.
>
>the change regards delcaring a function in a way that it will
>thereafter always become a subshell, regardless how it is run.
>
>On 7/9/21, Stanley Lieber <sl@stanleylieber.com> wrote:
>> On July 9, 2021 4:44:19 PM EDT, hiro <23hiro@gmail.com> wrote:
>>>i finally found a workable example, but i had to troll the irc logs to find
>>> it
>>>
>>>23:36:05 ori → ok, rc updated - now if you need early exits in
>>>functions, 'fn foo @{...; exit; ...}
>>>
>>>
>>>On 7/9/21, hiro <23hiro@gmail.com> wrote:
>>>> the examples are all weird. i still do not understand what this allows
>>>> you to do.
>>>>
>>>> On 7/9/21, Stanley Lieber <sl@stanleylieber.com> wrote:
>>>>> On July 9, 2021 11:01:19 AM EDT, ori@eigenstate.org wrote:
>>>>>>Quoth Stanley Lieber <sl@stanleylieber.com>:
>>>>>>> On July 9, 2021 3:48:39 AM EDT, Anthony Martin <ality@pbrane.org>
>>>>>>> wrote:
>>>>>>> >> rc: add subshell-function syntax
>>>>>>> >>
>>>>>>> >> fn foo @{bar} is now equivalent to
>>>>>>> >> fn foo {@{bar}}. As a side effect,
>>>>>>> >> this disallows creating functions
>>>>>>> >> named after keywords without first
>>>>>>> >> quoting them.
>>>>>>> >
>>>>>>> >Respectfully, this is just wrong. @ is a
>>>>>>> >unary operator. Repurposing it to define
>>>>>>> >a new special kind of function is a bit
>>>>>>> >much.
>>>>>>> >
>>>>>>> >What does this buy you over being explicit
>>>>>>> >at the call site?
>>>>>>> >
>>>>>>> >	fn foo { bar }
>>>>>>> >
>>>>>>> >	@foo
>>>>>>> >
>>>>>>> >One color of function is enough. What's
>>>>>>> >next?
>>>>>>> >
>>>>>>> >	fn foo !{ bar }
>>>>>>> >
>>>>>>> >to mean that foo always negates the exit
>>>>>>> >status of its body?
>>>>>>> >
>>>>>>> >The new quoting requirement for functions
>>>>>>> >named after keywords seems fine, on the
>>>>>>> >other hand. But is it worth the backwards
>>>>>>> >incompatibility?
>>>>>>> >
>>>>>>> >Thanks,
>>>>>>> >  Anthony
>>>>>>> >
>>>>>>>
>>>>>>> if we're introducing breaking changes to important programs like the
>>>>>>> shell, can we please at least post a warning on the mailing list?
>>>>>>
>>>>>>(caveat -- it's compatible unless you
>>>>>>happen to be using functions named '@',
>>>>>>'`', etc -- which, again, you
>>>>>>can't use without quoting.)
>>>>>>
>>>>>>I don't think most people even realize
>>>>>>that it's possible to name an rc function:
>>>>>>
>>>>>>	'@{this is a valid} function name!'
>>>>>>
>>>>>>Either way, noted -- I'll post next time.
>>>>>>
>>>>>>
>>>>>
>>>>> thanks. changes to rc are tricky since of all things we expect it to
>>>>> behave
>>>>> consistently from day to day. I do think I misunderstood the change
>>>>> itself.
>>>>> I've been running sysupdate from cron and piping the output to an
>>>>> e-mail
>>>>> to
>>>>> myself -- the commit messages as printed by sysupdate are truncated.
>>>>>
>>>>> sl
>>>>>
>>>>
>>>
>>
>> wait, this will exit only the subshell and not the parent? that's useful for
>> sure.
>>
>> sl
>>
>

maybe we can get tom duff to update the rc paper to reflect our changes.

sl

  reply	other threads:[~2021-07-11 10:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-09  7:48 Anthony Martin
2021-07-09 14:21 ` ori
2021-07-09 14:37 ` Stanley Lieber
2021-07-09 14:56   ` ori
2021-07-09 15:01   ` ori
2021-07-09 15:10     ` Stanley Lieber
2021-07-09 19:43       ` hiro
2021-07-09 20:44         ` hiro
2021-07-09 20:50           ` Stanley Lieber
2021-07-10  7:25             ` hiro
2021-07-10 14:16               ` Stanley Lieber [this message]
2021-08-27 15:07 ` ori
2021-09-01 19:16   ` Noam Preil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C0523D36-8931-4F80-A505-11611B14AB31@stanleylieber.com \
    --to=sl@stanleylieber.com \
    --cc=9front@9front.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).