I see two different proposal ideas in this whole discussion, and they are
not mutually exclusive. The first is the use of a special character token to explicitly represent the left hand side of an assignment, and the other is the use of special character extensions to operators to implicitly use the left hand side of an assignment. Both are suggested as ways to "save keystrokes". It seems to me that any language changes should be evaluated using simplicity and actual usability as high priorities, and I think the discussion of exactly which characters should be used is somewhat less important. On the explicit side, ~, @ and = have been suggested, and there are of course many other possibilities. I'll use $, not to show favorites :) On the one hand, it can be argued that an explicit token representing the left hand side allows it to be used at any point (or even multiple times) in the right hand side of the assignment. I would ask, if you analize 1 million lines of Rexx code, what percentage of the statements actually benefit? How many keystrokes would be saved by replacing "a = a + 1" by "a = $ + 1"? Does the added complexity really add enough to justify it? How many users unfamiliar the use of $ would be confused? On the implicit side, the issue seems to be that of extent. When PL/I extended its language to include the += operator, it also (in typical shark jumping fashion) included the -=, *=, /=, |=, &=, ||=, **= and ^= operators. Probably not a good idea for Rexx from a simplicity standpoint, since the list could even be longer. Remember that Rexx allows space (and sometimes comments) between operator characters, and "a =+ 1" is the same as "a = +1". If we analyze that same million lines of Rexx for the "a = a + x" and "a = a - x" idioms, there might be enough justification to add the += and -= operators, and that would be the only thing I would vote for. But there is nothing to preclude Rexx extensions that allow "a *= b - $" (except common sense). It seems to me that the issue of overly long names and keystroke saving is overblown anyway. If long and meaningful variable names are desired, the best way (IMHO) is to program using short names and then rename them all at once (when it is "make it pretty" time), preferably with an intelligent editor that supports refactoring. The long names are only typed once and the changes are error free. Of course, most of us program using i and x anyway. On 9/27/2010 1:12 PM, Jeff Hennick wrote: > Since many of us, but not all, see a value for this generalized sort of notation, I'd like to offer for discussion another symbol: @ . This has the advantage being able to be read/thought of as "that variable which is AT the left of the assignment." It is also apparently widely available on keyboards. It avoids adding another meaning to "=". > > So we could have > > Variable = @ + 1 > Variable = 1 + @ > aListOfVariableLengthTokens=@.DelStr(1,@.Pos(dlim)) > > [From what I can see, this does not interfere with Java's use of "@" in annotations, but I am not a user of Java.] > > Jeff > (Considering adding a keyboard macro for shift+2 to use in typing his REXXish languages.) > > On 9/27/2010 6:41 AM, Connor Birch wrote: >> For an increment operator we have the following suggested alternatives: >> >> Variable += 1 >> Variable = ~ +1 >> Variable == +1 >> >> I dislike += for two reasons. Firstly because the plus is on the left of the =, so it seems more like Variable+ = 1 which is senseless, if we want = to cleanly and consistently mean assignment; we don't want anything between it and the thing it is assigning to, ie whatever we opt for should begin "Variable =". Secondly if we want to count down, we'd either need to write Variable+=-1 which is getting a bit convoluted, or alternatively, to be consistent with +=, we'd need to create -= as well (not very nice). If we did not create -=, then + and - would no longer be symmetrical opposites, making NetRexx asymmetrical (not very nice either). >> >> I dislike == for two reasons, firstly it is overloading the = with another meaning (it already has over two meanings ie assignment (1) and comparators (1 and a bit) (eg =, >= etc). Secondly because intuitively == means more equals than equals (ie identical?), which is not what the intention is. >> >> I do like Variable = ~ +1 because both the "Variable=" and the "+1" are fully consistent with what we already have, and hence we only have one new thing to remember, and that thing, as Chip has demonstrated, has a more general and wider use, helping lines not to become overlong. If we are to introduce something else to the language, it needs to give sufficient benefit to justify the weight it adds to the language, and the general purpose nature of the ~ just tips it in its favour I think. So there's my vote. >> >> Connor. >> >> > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] -------------------------------------------------------------------- mail2web - Check your email from the web at http://link.mail2web.com/mail2web _______________________________________________ Ibm-netrexx mailing list [hidden email] |
| Of course, most of us program using i and x anyway
Oh yeah? On Mon, Sep 27, 2010 at 5:12 PM, [hidden email] <[hidden email]> wrote: I see two different proposal ideas in this whole discussion, and they are _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Aviatrexx
Yes.
On Mon, Sep 27, 2010 at 2:09 PM, Chip Davis <[hidden email]> wrote: Then I guess I need to step up. _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by George Hovey-2
On 27 September 2010 14:29, George Hovey <[hidden email]> wrote:
Right with you there George; I think I can safely say I never use single character variables anywhere in code I'm developing. (If for no other reason than it's easier to get the editor's mouse cursor between two characters than over a singleton.) Alan. -- Can't tweet, won't tweet! _______________________________________________ Ibm-netrexx mailing list [hidden email]
Alan
-- Needs more cowbell. |
In reply to this post by Thomas.Schneider.Wien
Slip of the finger - should have said "some of us...". No offense meant.
Guess I had too many years of Fortran and 360 Assembler and not enough COBOL :) On 9/27/2010 6:02 PM, Alan Sampson wrote: > > > On 27 September 2010 14:29, George Hovey <[hidden email]> wrote: > > | Of course, most of us program using i and x anyway > > Oh yeah? > > > Right with you there George; I think I can safely say I never use single reason than it's easier to get the editor's mouse cursor between two characters than over a singleton.) > > Alan. > > -- > Can't tweet, won't tweet! -------------------------------------------------------------------- mail2web LIVE Free email based on Microsoft® Exchange technology - http://link.mail2web.com/LIVE _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Mike Cowlishaw
A counter example?
x = 1 y = x = 1 -- ie, y = the value of the proposition 'x = 1' z = x \= 1 -- ie, z = the value of the proposition 'x \= 1' Say "y="y "z="z Said: y=1 z=0 On Mon, Sep 27, 2010 at 3:08 AM, Mike Cowlishaw <[hidden email]> wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Thomas.Schneider.Wien
George,
Maybe I should have said "x, y and z" instead of "i and x"? :) On 9/27/2010 6:24 PM, George Hovey wrote: > A counter example? > > x = 1 > y = x = 1 -- ie, y = the value of the proposition 'x = 1' > z = x \= 1 -- ie, z = the value of the proposition 'x \= 1' > Say "y="y "z="z > > Said: > > y=1 z=0 | Of course, most of us program using i and x anyway > Oh yeah? -------------------------------------------------------------------- mail2web LIVE Free email based on Microsoft® Exchange technology - http://link.mail2web.com/LIVE _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Aviatrexx
Chip, & all:
First I am wondering how easy it is to 'raise a discussion' in this forum, and how quickly valuable ideas come up, get discussed, forgotten, re-raised, etc. I personally believe that this *is* one of the purposes of a list like ibm-NetRexx :-) The *other purpose* is, of course, to help other user's of the language with specific problems/questions they do have. Bith REXXLA and ibm-netRexx are very useful lists for this purpose for years now. May I just add that I personally (internally) use ':=' as the assignment operator, to distinguish it from the actually denoted '='. But that's to get the ambiguity of '=' away, only. I'm currently filing all those discussion input's personally in a specific NetRexx Improvements folder (in Thunderbird) for my personal use. Thank you all who contribute their ideas/concerns here to some of my proposals. Thomas. ========================================================= Am 27.09.2010 20:09, schrieb Chip Davis: > Then I guess I need to step up. > > Firstly, I have no vested interest in the particular glyph being used. > The tilde was a handy one that I knew was not being used. I was > proposing a more general mechanism than the extremely limited '+=' > construct in 'C'. All of the arguments (save one) for the '+=' had to > do with not having to repeat a variable name (saving keystrokes, > difficulty of variable name modification, evility of search&replace, > etc.). The only other argument for it was: "C does it". (Quoting my > mother: "And if C decided to jump off the bridge, would you do it > too?") The '+=' construct saves exactly one instance of a variable > name. My proposal saves many. > > Secondly, while the tilde is indeed an ooRexx operator, I don't care. > It also breaks Classic Rexx and Korn shell scripts. There is much > in NetRexx that is not legal (oo)Rexx. So what? It's a different > language for a different platform. I am far more interested in hewing > to the Rexx philosophy of clarity and sensibility, than to > > Thirdly, it would appear that the Spanish keyboard provides no more > difficulty rendering the tilde than any of the rest: hold a shift key > and press another key. It is no more difficult for David to hold the > 'AltGr' and press the '4' key than it is for English keyboard users to > hold the 'Shift' key and press the '`'. The only difference is that > his language uses it as a diacritical mark, so he must press the space > bar if he wants a stand-alone tilde, otherwise it tries to accent the > next key pressed. Besides, if the tilde was so difficult to use on a > Spanish keyboard, how the heck does he use Unix/Linux, or code in C, > C++, C#, Perl, or any of myriad other programming languages? > > Fourthly, the only place in Rexx or NetRexx where the equal sign is > truly overloaded, is assignment. In all but one case, it means "equal > comparison". It still means that in the compound comparison operators > '>=', '\=', etc. There is no confusion there. In the remaining case, > it means "exactly this Parse target", so it still means "equals". > > On initial reading of Mike's suggestion of using '=' in place of the > '~' as a variable name reference, I had two reactions: > 1. Oh no, not another meaning for that glyph. > 2. Hey, that's not bad! It still means "equals", only now it means > "equal to the left-hand variable". Not bad. Had I had his ability to > foresee the lack of unintended consequences of using it, I'd have > picked that one myself. > 3. Why didn't he think of that back in 1979? I could have really > used it all these thirty years! :-)) > > While I don't like the foo==+1 because it looks too much like the '==' > operator, I don't have to write it like that. > > -Chip- > > On 9/27/10 15:56 George Hovey said: >> I was startled by David's remark about the difficulty of typing tilde >> (~) on his Spanish keyboard. This sent me to WIKI TILDE where I >> found that ~ is a pretty nasty customer for European users (I had >> lazily assumed that they had convenient access to the base ASCII set >> on their keyboards). >> >> I like MFCs idea (I hope there isn't some case where it flatly >> fails!). It avoids introducing a new character and it doesn't seem >> at all hard to parse: the first '=' means assignment and subsequent >> ones are placeholders. That doesn't seem excessively challenging. >> >> I agree that it is an additional overloading, but no one complains >> about the current overloading of '=' (in comparisons) because there >> is no difficulty in recognizing which is which. I don't think MFC's >> proposal changes this. >> >> >> >> On Mon, Sep 27, 2010 at 7:46 AM, David Requena <[hidden email] >> <mailto:[hidden email]>> wrote: >> >> >> >> 2010/9/27 Connor Birch <[hidden email] >> <mailto:[hidden email]>> >> >> I dislike += for two reasons. Firstly because the plus is on >> the left of the =, so it seems more like Variable+ = 1 which is >> senseless, if we want = to cleanly and consistently mean >> assignment; we don't want anything between it and the thing it >> is assigning to, ie whatever we opt for should begin >> "Variable =". >> >> >> But as you point elsewhere '=' already means other things when >> prefixed by several other symbols ('<', '<', '\', '¬') >> BTW '+=' is not "assignment" but a different thing: sum-then-assign. >> That is in fact the point. >> >> Secondly if we want to count down, we'd either need to write >> Variable+=-1 which is getting a bit convoluted, or >> alternatively, to be consistent with +=, we'd need to create -= >> as well >> >> >> well, I've been talking all the time about the '+=' operator family. >> As in '+=', '-=', '*=' and '/='. As you somewhat point out putting >> these in reverse order interferes with the (right) meaning of '+' >> and '-' as unary operators (conveying sign of the number >> following them) >> >> (not very nice). >> >> >> That, you must admit, is a very subjective aesthetic consideration. >> At no point in time will I make an argument about the alternative >> '~' thing based on the fact I find it irremediably ugly >> >> If we did not create -=, then + and - would no longer be >> symmetrical opposites, making NetRexx asymmetrical (not very >> nice either). >> >> >> hmm... I don't see anyone advocating += without -= >> >> -- Saludos / Regards, >> David Requena >> >> >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] <mailto:[hidden email]> >> >> >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] >> > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by David Requena
By the way ...
Does anyone of you know whether the new Apple iPAD does support a multilingual *soft* keyboard I can switch very quickly (and adapt to my personal needs ???) There are some external keyboards where each key is actually a display, but they are horribly expensive.. Thomas. PS: reason for this is I want to change the keyboard according to the language I am using (when I like), and use a more larger keyboard having some special Symbols as well.... ============================================================ Am 25.09.2010 23:17, schrieb David Requena:
--
Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by David Requena
Hello David,
1.) When the 'init' value is different, multiple statements have to be used. 2.) By default, Null is the init value, even for Int's, in NetRexx 3.) I think that the *meaning* of the notationI did propose is evident. 4.) I would *not* allow multiple '=', however, i.e. only ONE assignment operator may be used. Thomas. ===========================================================. Am 25.09.2010 13:18, schrieb David Requena: > Also on the 'a,b,c=int 5' thing it is not evident if you're defining 3 int variables with one initialiced to 5 or initialicing all of them to 5. > > Different languages supporting this syntax choose either one of these meanings. > > What tends to be common among those languages is their discouraging of this particular idiom usage. > > - > Saludos / Kind regards, > David Requena > > -----Original Message----- > From: "[hidden email]"<[hidden email]> > Sender: [hidden email] > Date: Fri, 24 Sep 2010 13:05:52 > To:<[hidden email]> > Reply-To: [hidden email], IBM Netrexx<[hidden email]> > Subject: Re: [Ibm-netrexx] NetRexx enhancements -- reply > > I use the += and related operators, and think if anything is added, that > should > be the first candidate. I'm opposed to "a,b,c = x" although it is > occasionally > useful. Partially because it opens the door to: "Why didn't you do it like > the > other languages: "a=b=c=x" etc. I just don't think it is needed in a > beautifully simple language like Rexx. > > Of course (IMHO) the ++ and -- operators are a couple of very bad features > of C > (along with the gratuitous break statements which have cost zillions of > programming hours). It's such a shame that people let bad ideas become > normal, > and then expect them! > > Tinkering with a well designed language is a very slippery slope, and when > different implementations support different syntax or capabilities there > are > always problems. Language evolution is fine, but it has to be carefully > controlled. I think one of the strengths of Java is that Sun kept M$ from > tinkering with it. There is an ANSI standard for Rexx and a single > language > definition for NetRexx, and it probably ought to stay that way. > > As for "NetRexx 3", maybe there should be community agreement well before > anything is implemented? Mike owns the NetRexx name (philosophically if > not > legally), and it shouldn't be called NetRexx without his blessing. Of > course > everyone is free to invent their own language with any other name they > choose :) > > I'm no fan of macro languages and preprocessors. Although they are > occasionally > useful, I think they tend to greatly muddy the water. The C preprocessor > is a > mess, and the PL/I preprocesssor doesn't have much to do with PL/I - it > just > sort of looks like it. > > That being said and from a language design standpoint, I've sometimes > thought > that a single token equivalence statement at the language level might not > be a > bad thing, at least in some cases. The "means" statement might help to get > around keyboard and other clarity issues. It would be a restricted form of > typical token substitution preprocessing, but limited to single tokens > only. > Over used though, it could really be a mess as well. > > For example, a BNF like equivalence token ("::=") or something more simple > which > is not a word could be used to specify the "means" statement. Then the > statement "this ::= that" provides single token equivalence within a scope. > A > sequence of "means ::= ::= ; XOR means&& ; " etc. allows some increased > capability for clarity if used carefully. > > Obviously this has been done with various preprocessors, but I'm talking > about > token equivalence, not substitution. I think there is a bit of a > difference > between "this means that" and "#define this that", although in practice > they are > pretty much the same. > > The problem with something like this is knowing when to stop. It is much > too > easy to extend single token equivalence into "one for many" as in "flop > means > call that thing ; (i.e. #define flop call that thing )" etc. "because it is > easy > to do, it's just one string for another". Then comes "many to many" as in > "do > it means something else", and worse, the whole idea of "since we are > substituting, why not add some parens, use $ for arguments, and maybe a > conditional operator, etc. etc.". A very slippery slope indeed. > > Maybe not for NetRexx like languages though, since in effect it gives > tokens > specific meaning, and that is a bit counter to the idea that a word takes > its > meaning from the dynamic execution environment rather than from a fixed > definition (i.e. reserved keyword) or a static definition (such as the > "means" > statement). > > And I definitely wouldn't like "++ means += 1" :-) > > Bill > > > -------------------------------------------------------------------- > mail2web.com - Microsoft® Exchange solutions from a leading provider - > http://link.mail2web.com/Business/Exchange > > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by David Requena
Mike, may I
*congratulate you* how you *did* eliminate the need of this
*unnecessary*
Syntax Duplication in NetRexx. :-) Congrats! Tom. ======================================================== The same saving as not repeating 'BigDecimal' in:
_______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by George Hovey-2
Hello George,
may I *repeat* that the Rexx2Nrx run-time-package *is* an extension library to NetRexx :-) (see www.Rexx2Nrx.com, Run-Time Package). I do also know some other very useful Netrexx extension libraries. The major pitfall is, at the current minute, that they are dispersed to different places. But Rene indicated, that he will build a central repository after the open source release of NetRexx.... Thomas. ============================================================== Am 26.09.2010 20:40, schrieb George Hovey: Alan, --
Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by christel.u.w.pachl christel.u.w.pachl
Hi all,
1.) I would *not* use the TILDE (~) for this purpose, as it is optically so similiar to the minus sign for my (very old and bad) eyes. I cannot distinguish them very well. I personally would use # as the placeholder when we would decide for the syntax: MyVeryLongName = # +1 2.) Why *not* using the same notation as in other languages, please? It's so hard to convince Java programmers even now to use NetRexx as THE *better* language. Full Stop. Thomas. ============================================================ Am 27.09.2010 13:53, schrieb Walter Pachl: > seconded thirded foured etc. > > ---- [hidden email] schrieb: >> Fernando Cassia<[hidden email]> wrote the following on 27/09/10 12:09:19: >>> On Mon, Sep 27, 2010 at 7:41 AM, Connor Birch >>> <[hidden email]> wrote: >>>> For an increment operator we have the following suggested alternatives: >>>> Variable += 1 >>>> Variable = ~ +1 >>>> Variable == +1 >>> I vote for Variable = ~ +1. It´s the one that makes more sense at first sight. >> I vote for >> Variable += 1 >> because several other languages use it, including ooRexx and Java. >> Don't be different for the sake of being different! >> >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] >> > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
On 29 Sep 2010, at 19:14, Thomas Schneider wrote: 2.) Why *not* using the same notation as in other languages, please? NetRexx will nolonger be the better language if we go down the route of homogenising it with the others. Oblivion definitely lies down that road since we would loose the very things that make Rexx better. For any language to survive, it either needs to be mainstream (like Java, C etc) to attract users by default, or has to be sufficiently different from, and better than, the mainstream for new users to seek it out. For NetRexx to remain differentiated from others, for it to be a language that future people can believe in, we have to maintain the original vision of a language with clear syntax, not syntax just copied for compatibility. For people who want java syntax, there is a language; it's called java. For people who want commonality with java programmers, there is a language; it's also called java. Let us not confuse the different drivers behind the syntax of Java and the syntax of NetRexx. Connor. _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Thomas.Schneider.Wien
Thomas,
In order to attract C programmers to OO languages, then a pretty scary idea, both C++ and Java made a marketing decision to make their syntax C-like, with the result that their victims (I was one) have to type that tedious crap (I wish I had $0.01 for every semicolon I've typed). We will never eliminate bad ideas by aping them. There might be an actual advantage to saying to potential converts "you are about to enter the NetRexx zone. All decisions have been made on their intrinsic merits rather than the deficient thinking of the past. Don't expect things to be the same. They wont be. But you'll never look back". George On Wed, Sep 29, 2010 at 2:14 PM, Thomas Schneider <[hidden email]> wrote: Hi all, _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by FreeFall
Thank You, Connor!
I have been hoping that someone else would come along and state the obvious: NetRexx was not designed for C/C++ programmers; what would be the point? There is no wisdom in polluting a clean language design with Java idioms, just for the sake of making it look like Java. This whole thread started with a suggestion to add a C idiom "to save keystrokes", not to add functionality. The true intention became clear when I counter-proposed a new idiom that would save many more keystrokes without breaking the Rexx lexical parser. Yet it was met with objection essentially because it wasn't the C-idiom. Mike laid out in great detail the philosophy of NetRexx in his book. Part 1 should be required reading and all enhancement suggestions should be evaluated in light of those tenets, imnsho. -Chip- On 9/29/10 18:41 Connor Birch said: > > On 29 Sep 2010, at 19:14, Thomas Schneider wrote: > >> 2.) Why *not* using the same notation as in other languages, please? >> It's so hard to convince Java programmers even now to use NetRexx as >> THE *better* language. > > NetRexx will nolonger be the better language if we go down the route of > homogenising it with the others. Oblivion definitely lies down that > road since we would loose the very things that make Rexx better. > > For any language to survive, it either needs to be mainstream (like > Java, C etc) to attract users by default, or has to be sufficiently > different from, and better than, the mainstream for new users to seek it > out. > > For NetRexx to remain _differentiated from others_, for it to be _a > language that future people can believe in_, we have to maintain the > original vision of a language with clear syntax, not syntax just copied > for compatibility. > > For people who want java syntax, there is a language; it's called java. > For people who want commonality with java programmers, there is a > language; it's also called java. Let us not confuse the different > drivers behind the syntax of Java and the syntax of NetRexx. > > Connor. > > > ------------------------------------------------------------------------ > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Ibm-netrexx mailing list [hidden email] |
In reply to this post by billfen
Bill,
I permit single character variable names is programs containing less than five lines, which I term "lollapaloozas". Lollapaloozas may employ whatever rules they like. THIS IS A JOKE. George On Mon, Sep 27, 2010 at 6:39 PM, [hidden email] <[hidden email]> wrote: George, _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Aviatrexx
Chip, I included a program on the super-long thread which escaped notice, except by Bill. It is
| x = 1 | y = x = 1 -- ie, y = the value of the proposition 'x = 1' | z = x \= 1 -- ie, z = the value of the proposition 'x \= 1' | Say "y="y "z="z which Said: | y=1 z=0 The point of this example is to show that MFC's idea for x+=1 becomes x=~+1 becomes x==+1 may have a fatal flaw. It seems to me that with MFC's rule in effect, the 2nd and 3rd lines cannot be parsed because there a two possible interpretations of the second '='. With the current NetRexx, 'x=1' and 'x\=1' are interpreted as logical propositions. This, I expect you remember, was a proposed modification of your x=~+1 to x==+1 which I liked better because it is more parsimonious with special characters. However, if MFC's idea won't work, then in my mind yours is the clear winner because of its expressiveness and ease of mental parsing (~ has only one meaning). I think choosing += to make C programmers happy might aptly be described as pandering; it also lulls them into thinking they are in familiar territory. George On Wed, Sep 29, 2010 at 7:33 PM, Chip Davis <[hidden email]> wrote: Thank You, Connor! _______________________________________________ Ibm-netrexx mailing list [hidden email] |
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
Yes, a special symbol name seems analogous to 'this', 'ask' etc and in the spirit of NetRexx. But doesn't this raise the possibility of breaking programs? Coming (originally) from a FORTRAN background, where keywords were not reserved -- the line "IF IF(CALL) THEN CALL CALL(IF)" would happily compile (as, incidentally, would "IFIF(CALL)THENCALLCALL(IF) ") -- this fragility of modern languages strikes me as having unfortunate consequences. Isn't fear of new reserved words the reason that STATIC is so abused?
Would it make sense to have a special class of symbols reserved for the compiler, say using initial '_' or whatever? This also may break programs, but only once. The ability to safely introduce new keywords could be a lifesaver as NetRexx evolves. On Thu, Sep 30, 2010 at 4:48 AM, Mike Cowlishaw <[hidden email]> wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
Free forum by Nabble | Edit this page |