From mboxrd@z Thu Jan 1 00:00:00 1970 From: giacomo@tesio.it (Giacomo Tesio) Date: Tue, 17 Oct 2017 18:04:37 +0200 Subject: [9fans] Why Plan 9 uses $ifs instead of $IFS? In-Reply-To: References: Message-ID: Topicbox-Message-UUID: c357152a-ead9-11e9-9d60-3106f5b1d025 Also, why NPROC has been left uppercase? :-) Giacomo 2017-10-17 17:45 GMT+02:00 Giacomo Tesio : > In *rc* you use quotation marks when you want a syntax character to >> appear in an argument, or an argument that is the empty string, and at no >> other time. IFS is no longer used, *except in the one case where it was >> indispensable*: converting command output into argument lists during >> command substitution. > > > So, I undestood: it used to use IFS in that one case. > > I got it now: the fact that IFS was named ifs was not a relevant for the > discourse, and thus omitted. > > Still I'm a bit surprised that such change in the conventions provides no > practical advantage: the taste changes with age, but costs accumulate... :-) > > > BTW, thanks for your answers! > > > Giacomo > > > 2017-10-17 17:18 GMT+02:00 Charles Forsyth : > >> since for example the original Rc paper still referred to $IFS. >> >> >> really? the only references to IFS I can find are in comparisons of $ifs >> to the Bourne shell's $IFS >> >> On 17 October 2017 at 16:05, Giacomo Tesio wrote: >> >>> Really? Just aesthetics? :-o >>> I supposed it had some practical goal I was missing, since for example >>> the original Rc paper still referred to $IFS. >>> >>> This would flips the question a bit: I wonder why the same designers >>> chose uppercase variable names while designing Unix... :-) >>> >>> >>> Giacomo >>> >>> 2017-10-17 16:39 GMT+02:00 Dan Cross : >>> >>>> On Tue, Oct 17, 2017 at 10:38 AM, Giacomo Tesio >>>> wrote: >>>> > Out of curiosity, do anybody know why Plan9 designers chose lowercase >>>> > variables over uppercase ones? >>>> > >>>> > At first, given the different conventions between rc and sh (eg $path >>>> is an >>>> > array, while $PATH is a string), I supposed Plan 9 designers wanted to >>>> > prevent conflict with unix tools relying to the older conventions. >>>> > >>>> > However, I'm not sure this was the main reason, as this also open to >>>> subtle >>>> > issues: if a unix shell modifies $IFS and then invoke an rc script, >>>> such >>>> > script will ignore the change and keep using the previous $ifs. >>>> > >>>> > >>>> > As far as I can see, APE does not attempt any translation between the >>>> two >>>> > conventions, so maybe I'm just missing something obvious... >>>> > >>>> > >>>> > Do anyone know what considerations led to such design decision? >>>> >>>> Aesthetics. >>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: