From: Andrew Janke <apjanke.floss@gmail.com>
To: Roman Neuhauser <neuhauser@sigpipe.cz>,
Oliver Kiddle <okiddle@yahoo.co.uk>
Cc: zsh-workers@zsh.org
Subject: Re: Proof of concept: "static" parameter scope
Date: Tue, 29 Sep 2015 19:31:53 -0400 [thread overview]
Message-ID: <560B1F69.3060600@gmail.com> (raw)
In-Reply-To: <20150928175834.GE3670@isis.sigpipe.cz>
On 9/28/15 1:58 PM, Roman Neuhauser wrote:
> # okiddle@yahoo.co.uk / 2015-09-28 19:04:59 +0200:
>> Bart wrote:
>>> "Called functions" includes recursive calls to the function itself, so
>>> this doesn't work like C "static". Therefore I'm in the market for a
>>> better name.
>> The trouble with "static" is that people with a C or C++ background will
>> expect something different. It might be better to find a new word in the
>> thesaurus that doesn't carry the baggage of another common meaning. Note
>> that, as you mention in the documentation patch, ksh93 has a typeset
>> -S option which does do C like static variables. Aside from confusing
>> users, the Zsh use of the term "parameter" seems even more tenuous when
>> applied to lexically scoped variables because they can't be used as
>> named parameters. So instead of "static" I would simply suggest "var".
> agree wholeheartedly with everything Oliver said.
>
> one nitpick: "var" has no semantics regarding scope, which is not a
> problem per se, but with 'local' doing something (naively) unexpected,
> maybe a stronger signal would be in order?
>
> i'd maybe suggest "private" instead, but the sweet succintness of "var"
> is really attractive. hmm, what about "my"?
>
I'm a fan of "my". Perl's "my" and "local" are exactly the example I use
when explaining the behavior of zsh "local" variables to new users. This
new scope seems to correspond pretty well to Perl's "my" lexical scoping.
Or maybe "auto"? The C "auto" storage class (the default one, scoped to
a block in a function activation) corresponds pretty well to this new
static scope, since it's scoped to a single function activation / call
stack frame (as opposed to a stack frame and all its child frames).
Or maybe "reallylocal"?
next prev parent reply other threads:[~2015-09-29 23:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-25 2:23 Bart Schaefer
2015-09-25 9:15 ` Peter Stephenson
2015-09-26 5:23 ` Bart Schaefer
2015-09-30 19:38 ` Peter Stephenson
2015-10-01 0:27 ` Bart Schaefer
2015-10-03 19:19 ` Peter Stephenson
2015-10-03 23:43 ` Autoloaded keywords (Re: Proof of concept: "static" parameter scope) Bart Schaefer
2015-10-05 21:55 ` Proof of concept: "static" parameter scope Daniel Shahaf
2015-10-05 22:17 ` Bart Schaefer
2015-10-05 22:36 ` Daniel Shahaf
2015-10-05 23:01 ` Bart Schaefer
2015-10-06 8:40 ` Peter Stephenson
2015-09-28 17:04 ` Oliver Kiddle
2015-09-28 17:58 ` Roman Neuhauser
2015-09-29 23:31 ` Andrew Janke [this message]
2015-09-30 3:06 ` Bart Schaefer
2015-09-28 19:42 ` Mikael Magnusson
2015-09-29 1:23 ` Bart Schaefer
2015-09-29 8:39 ` Peter Stephenson
2015-09-29 22:34 ` Daniel Shahaf
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=560B1F69.3060600@gmail.com \
--to=apjanke.floss@gmail.com \
--cc=neuhauser@sigpipe.cz \
--cc=okiddle@yahoo.co.uk \
--cc=zsh-workers@zsh.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.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
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).