NetRexx enhancements -- reply

classic Classic list List threaded Threaded
104 messages Options
123456
Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

George Hovey-2
Alan,
It's true that there has been little effort to produce extension libraries for NetRexx, and this should be done to provide those feature that Rexx users feel are indispensable.  This will make NetRexx palatable to those coming from a Rexx background.  But for the Java aware, NetRexx comes with the colossal Java Class Library, whose scope and quality is IMHO unequaled.

On Sun, Sep 26, 2010 at 12:12 PM, Alan Sampson <[hidden email]> wrote:


On 26 September 2010 08:30, Chip Davis <[hidden email]> wrote:
While I agree with the sentiment of your acronym, I also have a SHARE button that says "Perl is Just Rexx with Bad Syntax".

-Chip-

you should add "and CPAN".  It's the CPAN library that makes PERL a winner.  They have a huge user community focused on delivering quality solutions and extensions to the base libraries that makes PERL a world beater.  Would that the same approach was taken by RexxLA and the NetRexx community.  There are some small Rexx/NetRexx contributions that have been made and posted for public consumption but there's no central repository where programmers can go to reference them; eventually the links go stale so the knowledge and tools are lost to the community.


Alan.

--
Can't tweet, won't tweet!

_______________________________________________
Ibm-netrexx mailing list
[hidden email]




_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Aviatrexx
In reply to this post by David Requena
I should have been more specific:

It is not a "3 symbol sequence"; it is a substitution token available
at any/all points in the standard (Net)Rexx expression on the right of
the '='.

If '~' were a token meaning "whatever variable is to the left of the
'='", then the argument about having to repeat the variable name in a
simple expression goes away, as does "search and replace considered
harmful".

E.g. (in Rexx):

  aListOfVariableLengthTokens=DelStr(~,1,Pos(dlim,~))

As much as it pains me to admit it, this is not unlike the use of the
'~' as a shortcut to the contents of the $HOME directory environment
variable, or the '.' to indicate the current directory in UNIX shells.

-Chip-

On 9/25/10 21:46 David Requena said:

>
> El 25/09/2010 16:02, Chip Davis escribió:
>> If, as has been asserted, "search and replace are evil" (with
>> requisite apologies to Dijkstra) why not have a token that means
>> "whatever is on the left of the '='"?  Something like:
>>
>>   aVeryLongAndComplicatedVariableName=~+1
>
> That seems a weird argument to fend the use of:
>
>     aVeryLongAndComplicatedVariableName += 1
>
> In which way an arbitrary 3 symbol sequence would present any advantage
> over a 2 symbol one? One that is already familiar for a large number of
> people
>
> And yes, 'search and replace' *is* harmful :-)
>
> ---
> Saludos / Kind regards.
> David Requena
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
>


_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: NetRexx enhancements -- reply

Mike Cowlishaw
 

> I should have been more specific:
>
> It is not a "3 symbol sequence"; it is a substitution token
> available at any/all points in the standard (Net)Rexx
> expression on the right of the '='.
>
> If '~' were a token meaning "whatever variable is to the left
> of the '='", then the argument about having to repeat the
> variable name in a simple expression goes away, as does
> "search and replace considered harmful".
>
> E.g. (in Rexx):
>
>   aListOfVariableLengthTokens=DelStr(~,1,Pos(dlim,~))
>
> As much as it pains me to admit it, this is not unlike the
> use of the '~' as a shortcut to the contents of the $HOME
> directory environment variable, or the '.' to indicate the
> current directory in UNIX shells.

Interesting .. and more useful/general than += and so on.

One could use '=' instead of '~', perhaps, to reinforce the association with
assignment.  Happily a clause of the form 'a==whatever' is currently always an
error, I think, so:

  foo==+1

could mean 'foo=foo+1', with no breakage.

The example above would look like:

  aListOfVariableLengthTokens=DelStr(=,1,Pos(dlim,=))

For a moment I thought '=' in PARSE might be a problem, but of course it isn't
an assignment.

Mike

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

David Requena
In reply to this post by Aviatrexx
Chip,

I got the point first time but fac remains it's a 3 symbol sequence in this instance. I would start attempting to lookup '=~+' among the language operators when seeing this first time.

While I see this idea as an interesting one, one worh further researching, it seems to me it opens a whole new can of worms.

For one a better symbol is needed I think. Doesn't '~' be used in ooRexx for message passing? Besides '~' is Ctrl+Alt+4 then SPACE in my humble Spanish keyboard...

Also your 'advanced' example is not idiomatic in NetRexx. Surely it would be more something like:

aListOfVariableLengthTokens=~.DelStr(1,~.Pos(dlim))

Strikes me as not very readable. Look, when I was a novice programmer starting with C as my first language and saw first time

count += 1

I inmediatelly grasped what could be going on there. Althoug I had to check my C book, there was an '=', there was a '+' and there was an '1'; the meaning was somewhat suggested.

Now I'm sure that wouldn't have been true if I had seen

count = ~ + 1

That one suggests nothing itself even when spacing helps seeing '~' and '+' as sepparated, different, things

Surely we don't want NetRexx to fall behind C in the readability area!


2010/9/26 Chip Davis <[hidden email]>
I should have been more specific:

It is not a "3 symbol sequence"; it is a substitution token available at any/all points in the standard (Net)Rexx expression on the right of the '='.

If '~' were a token meaning "whatever variable is to the left of the '='", then the argument about having to repeat the variable name in a simple expression goes away, as does "search and replace considered harmful".

E.g. (in Rexx):

 aListOfVariableLengthTokens=DelStr(~,1,Pos(dlim,~))

As much as it pains me to admit it, this is not unlike the use of the '=' as a shortcut to the contents of the $HOME directory environment variable, or the '.' to indicate the current directory in UNIX shells.

-Chip-


On 9/25/10 21:46 David Requena said:

El 25/09/2010 16:02, Chip Davis escribió:
If, as has been asserted, "search and replace are evil" (with requisite apologies to Dijkstra) why not have a token that means "whatever is on the left of the '='"?  Something like:

 aVeryLongAndComplicatedVariableName=~+1

That seems a weird argument to fend the use of:

   aVeryLongAndComplicatedVariableName += 1

In which way an arbitrary 3 symbol sequence would present any advantage over a 2 symbol one? One that is already familiar for a large number of people

And yes, 'search and replace' *is* harmful :-)

---
Saludos / Kind regards.
David Requena



------------------------------------------------------------------------


_______________________________________________
Ibm-netrexx mailing list
[hidden email]



_______________________________________________
Ibm-netrexx mailing list
[hidden email]




--
Saludos / Regards,
David Requena


_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

David Requena
In reply to this post by Mike Cowlishaw


2010/9/27 Mike Cowlishaw <[hidden email]>

One could use '=' instead of '~', perhaps, to reinforce the association with
assignment.  Happily a clause of the form 'a==whatever' is currently always an
error, I think, so:

 foo==+1

could mean 'foo=foo+1', with no breakage.


I generally abhor all instances of one-thing-means-different-things-depending-on-context but this one, well... the meaning of operator '=' varies just in a sub-context defined by the very same '=' operator!

This whole discussion begins to strike me as an attempt to not doing what C syntax style languages do just for the sake of not doing it. Instead we devise some far superior, über-cool, solution which in the end just overcomplicates what should be a simple matter.

And now, my votes:

- YES to having '+=' style operators in NetRexx.
- MAYBE YES to additionally having this assignation-suboperator when more polished (may be generalized to also work in other kinds of expressions)


--
Saludos / Regards,
David Requena


_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

FreeFall
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. 


On 27 Sep 2010, at 09:44, David Requena wrote:



2010/9/27 Mike Cowlishaw <[hidden email]>

One could use '=' instead of '~', perhaps, to reinforce the association with
assignment.  Happily a clause of the form 'a==whatever' is currently always an
error, I think, so:

 foo==+1

could mean 'foo=foo+1', with no breakage.


I generally abhor all instances of one-thing-means-different-things-depending-on-context but this one, well... the meaning of operator '=' varies just in a sub-context defined by the very same '=' operator!

This whole discussion begins to strike me as an attempt to not doing what C syntax style languages do just for the sake of not doing it. Instead we devise some far superior, über-cool, solution which in the end just overcomplicates what should be a simple matter.

And now, my votes:

- YES to having '+=' style operators in NetRexx.
- MAYBE YES to additionally having this assignation-suboperator when more polished (may be generalized to also work in other kinds of expressions)


--
Saludos / Regards,
David Requena

_______________________________________________
Ibm-netrexx mailing list
[hidden email]



_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Fernando Cassia-2
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.

FC

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

bob.martin
In reply to this post by Thomas.Schneider.Wien
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]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

David Requena
In reply to this post by FreeFall


2010/9/27 Connor Birch <[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]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Fernando Cassia-2
In reply to this post by bob.martin
On Mon, Sep 27, 2010 at 8:36 AM,  <[hidden email]> wrote:

>> 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!

Is there a reason for not allowing both?

FC

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

FreeFall
In reply to this post by bob.martin

On 27 Sep 2010, at 12:36, [hidden email] wrote:

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!

I'd sooner say "Don't be the same for the sake of being the same"   We are not creating ooRexx or Java here; Rexx is different largely BECAUSE it has different (and better) syntax.   Our driver should be to have the clearest/best syntax. 

The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.

Connor. 

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

christel.u.w.pachl christel.u.w.pachl
In reply to this post by Thomas.Schneider.Wien
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]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

FreeFall
In reply to this post by Thomas.Schneider.Wien
On 27 Sep 2010, at 12:36, [hidden email] wrote:

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!

I'd sooner say "Don't be the same for the sake of being the same"   We are not creating ooRexx or Java here; Rexx is different largely BECAUSE it has different (and better) syntax.   Our driver should be to have the clearest/best syntax. 

The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.

Connor. 

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

christel.u.w.pachl christel.u.w.pachl
In reply to this post by Thomas.Schneider.Wien
---- Connor Birch <[hidden email]> schrieb:
> The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.
>
> Connor.


And this is the very case here.
ooRexx, sort of sibling to netrexx, has that syntax!

so, please support it instead of that horrible (to me) i=~1

Walter

Why my suggestion to change Texas to Texxas (because of its greatness never made it to the list I don't know.
So here it is again - for a SoM (smile on Monday)
_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

George Hovey-2
In reply to this post by David Requena
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]> wrote:


2010/9/27 Connor Birch <[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]




_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: NetRexx enhancements -- reply

Michael Dag
In reply to this post by FreeFall
I think this whole discussion is getting out of hand, please do not change this stuff at all, all of the below suggested options
make NetRexx more cryptic to my brains and my brains don't like cryptic stuff... tried both C and Java stuff shortly and my
brains simply refuses to consume this stuff and let me get acquainted with it...
 
NetRexx readability fits my brain and that's why I like it and stick with it...
 
Thanks for not changing anything... :-)
 
Michael 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Connor Birch
Sent: maandag 27 september 2010 13:55
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] NetRexx enhancements -- reply

On 27 Sep 2010, at 12:36, [hidden email] wrote:

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!

I'd sooner say "Don't be the same for the sake of being the same"   We are not creating ooRexx or Java here; Rexx is different largely BECAUSE it has different (and better) syntax.   Our driver should be to have the clearest/best syntax. 

The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.

Connor. 

_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Jeff Hennick
In reply to this post by FreeFall
  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]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Aviatrexx
In reply to this post by George Hovey-2
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]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

Robert L Hamilton
In reply to this post by Michael Dag
I second the motion. . .

bobh

On Mon, Sep 27, 2010 at 11:30 AM, Michael Dag <[hidden email]> wrote:
I think this whole discussion is getting out of hand, please do not change this stuff at all, all of the below suggested options
make NetRexx more cryptic to my brains and my brains don't like cryptic stuff... tried both C and Java stuff shortly and my
brains simply refuses to consume this stuff and let me get acquainted with it...
 
NetRexx readability fits my brain and that's why I like it and stick with it...
 
Thanks for not changing anything... :-)
 
Michael 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Connor Birch
Sent: maandag 27 september 2010 13:55
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] NetRexx enhancements -- reply

On 27 Sep 2010, at 12:36, [hidden email] wrote:

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!

I'd sooner say "Don't be the same for the sake of being the same"   We are not creating ooRexx or Java here; Rexx is different largely BECAUSE it has different (and better) syntax.   Our driver should be to have the clearest/best syntax. 

The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.

Connor. 

_______________________________________________
Ibm-netrexx mailing list
[hidden email]




_______________________________________________
Ibm-netrexx mailing list
[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx enhancements -- reply

David Requena
Well, you both don't have much to worry about.
It's not as if we could actually change anything in NetRexx at the moment :-)

2010/9/27 Robert Hamilton <[hidden email]>
I second the motion. . .

bobh

On Mon, Sep 27, 2010 at 11:30 AM, Michael Dag <[hidden email]> wrote:
I think this whole discussion is getting out of hand, please do not change this stuff at all, all of the below suggested options
make NetRexx more cryptic to my brains and my brains don't like cryptic stuff... tried both C and Java stuff shortly and my
brains simply refuses to consume this stuff and let me get acquainted with it...
 
NetRexx readability fits my brain and that's why I like it and stick with it...
 
Thanks for not changing anything... :-)
 
Michael 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Connor Birch
Sent: maandag 27 september 2010 13:55
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] NetRexx enhancements -- reply

On 27 Sep 2010, at 12:36, [hidden email] wrote:

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!

I'd sooner say "Don't be the same for the sake of being the same"   We are not creating ooRexx or Java here; Rexx is different largely BECAUSE it has different (and better) syntax.   Our driver should be to have the clearest/best syntax. 

The only case where I would support going with one option that is the same as the syntax of another programming language, is if the options are equally good in other respects.

Connor. 

_______________________________________________
Ibm-netrexx mailing list
[hidden email]




_______________________________________________
Ibm-netrexx mailing list
[hidden email]





--
Saludos / Regards,
David Requena


_______________________________________________
Ibm-netrexx mailing list
[hidden email]

123456