Talk:Idiomatically determine all the characters that can be used for symbols

From Rosetta Code

What do you mean by "symbol"?

I have no clue what is meant by "symbol" here. To a semioticist, every character in the program is a symbol, and every meaningful group of characters is a symbol, and the entire program symbolizes the computation that will be performed when it is invoked. Most computer languages do not give a technical meaning to the term "symbol" (and those that do define it give differing definitions of it), but it feels as though a particular grammatical or cultural definition is being assumed here without explanation. RC entries should attempt to transcend cultural differences, not be trapped by them, so we either need to define specifically what is meant by "symbol" as a widely known concept of some sort, or find a less overloaded term that will communicate across differing computing cultures. Is "symbol" intended to be restricted to what other languages would call "identifiers"? Does it include operators or other action indicators? To us linguists, verbs are every bit as symbolic as nouns, and operators are just funny-looking verbs. On the other hand, if the intent is to use the term "symbol" as a sort of Rorschach blot for us to free associate from and interpret however we like, then that should be made clear too. It would not be the first RC task to take that approach. :-) --TimToady (talk) 17:14, 21 March 2014 (UTC)

I would've thought you'd get a clue from the first example entered (REXX).   I didn't want to confuse symbols with characters (or a group of characters) within a computer program.   If every character is a symbol, then we could just use the word character.   As I meant/used/inferred it, symbols can be names of something, mostly used for names of programs/functions/subroutines/routines (another name would be entry points, specifically, the names of entry points), variable names (or structures), names (maybe called labels or events) of things that can be signaled/invoked (or trapped), etc.   More generally, names that computer programmers can choose, as opposed to names of things that the compiler writers (or the architects) have chosen.   I know that isn't specific enough to please most people, maybe not even some people; but I had to jump in somewhere.   It wasn't my intent to exclude any computer programming languages that didn't have all (or if any) of the classes/types of symbols, nor was it meant to be so defined that some computer programming languages would/might be excluded.   This is the main reason I tried to not define the word specifically so it might become exclusive (or start a definition war).   My background in computer programming is mostly old school (FORTRAN, PL/I, COBOL, BASIC, IBM mainframe assembler, REXX, etc) where symbols have a more traditional (and somewhat confined) usage and/or meaning and usually exclude things like operators, types of statements, and (action) verbs --- and there are others, of course.   I realized before I entered this Rosetta Code task, this would be fraught with the possibility of not adequately defining what a symbol is, but then, it wouldn't ever have been entered since there wasn't a definition where one-size-fits-all (computer programming languages).   As for defining what a symbol is, and if a computer programming language has other meanings for symbols that can be programmatically determined, then that can be shown/defined in the examples.   We could hash this out forever (trying to define what a symbol is in this context), but I feel there will never be a consensus on any one (specific) definition that would cover all computer programming languages, at least, on one definition that can't be agreed on without a long back and forth discussion.   However, if there is a term for what I envisioned, I'd like to know what it is.   If you could iron one out, give it a try (now that you know what I meant to ask for).   I don't want this to evolve into a detailed discussion on the grammatics of computer science terminology on symbolism or a debate on computer programming cultures. -- Gerard Schildberger (talk) 18:29, 21 March 2014 (UTC)
If one computer programming language calls "them" identifiers, others call them names, others call them variables (variable names or names of variables, a miniscule difference), others yet call them labels ...   What is needed is a term that can be understood by everyone what is meant.   Tall order, but of which I have no clear term (or definition). -- Gerard Schildberger (talk) 18:39, 21 March 2014 (UTC)
I've added a general description of symbols to the task's requirement, I hope it's a start in the right direction (which is much better than reading my mind or viewing/decoding other examples).   The phrase above Most computer languages do not give a technical meaning to the term "symbol" (and those that do define it give differing definitions of it), but ···   was my guideline, knowing full well that my attempt won't fare any better than give some (vague and/or general) description or examples. -- Gerard Schildberger (talk) 20:42, 21 March 2014 (UTC)
That's already a big improvement. Thanks. --TimToady (talk) 23:07, 21 March 2014 (UTC)
I suppose something like this wouldn't do?     Those thingys that the what-ja-ma-call-its use for being a do-hicky for programers to use as variables?     Seems clear to me.   And Bob's your uncle. -- Gerard Schildberger (talk) 00:57, 13 September 2014 (UTC)

ooRexx is an Interpreter of Classic Rexx (and MUCH more)

A plea to Gerard Schildberger: Again and again you refuse to accept the fact that ooRexx is an interpreter that can perfectly process "classic" Rexx programs that obey a few (actually very few) restrictions. I added the modified program and its output to the Rexx section in order to make others aware of the difference. The program was actually also in Category ooRexx as you may have nodiced. Please reinstate my program instead of unjustly (re)moving it. --Walterpachl (talk) 19:52, 12 September 2014 (UTC)

BTW: Version 2 under ooRexx makes absolutely no sense!!! Please remove it --Walterpachl (talk) 19:56, 12 September 2014 (UTC)

Whether or not an   ooRexx   program makes sense or not to be in the ooRexx section (category/language/etc) isn't the issue.   The 2nd ooRexx version looked different enough in my eyes (and therefore not the same program), so it was moved to the ooRexx section (but the main reason was that the ooRexx program was an ooRexx program, and ooRexx programs have their own language section).

... And whether or not   ooRexx   has more features and facilities isn't the point either.

The REXX language (on Rosetta Code) is for Classic REXX, not for ooRexx   (and as you know, ooRexx has it's own section).

If I find a language (such as Run BASIC) in the BASIC section, I'd probably move that also.   It's not like that I'm deleting it or somesuch.   Each language has it's own section, and I can understand why someone would mistakenly enter such a program under the wrong BASIC language section.

And, yes, I refuse to accept the statement (which is not a fact) that the ooRexx is an interpreter that can   perfectly   process Classic Rexx (there's no need to put the word classic in quotes unless you're referring to some other Classic REXX definition).   (By the way, I use the definition of Classic REXX as defined in an IBM document quite a few years back which was published about the time that oRexx was being talked about, and there needed to be a better definition of what the REXX language was (as far as syntax, etc) versus the REXX language variant that was being discussed in the oRexx document).   Please don't try to make out that I'm a bad guy for not accepting that statement as a fact (even if I do it again and again).   It isn't a fact, so I shouldn't be put on the carpet that I refuse to accept a (false) fact (even if more than once).   This isn't the place to argue about that statement and I don't want to be part of that myth.   Also, the use of   few (actually very few) restrictions   wording depends on what you mean by few (put a number on it), and better still, list all the differences.   Whatever the list is, it most likely won't be complete, and I have yet to see a comprehensive or itemized list.   It shouldn't be that hard to draw up a list, after all, those differences should be known by the supporters and maintainers of ooRexx.   As ooRexx isn't my dog, I have no interest nor do I have an agenda in compiling that list.   That should be left to the people pushing the idea that ooRexx can perfectly process (or just process) any Classic REXX program.   But the bottom line here is that there are enough differences (not to mention ooRexx's other features, capabilities, and options), which in my mind, make it a different language.   I have never seen that list either (of ooRexx's expanded facilities) that are different from the features offered in any Classic REXX).   But, whether or not I believe any part of such a statement, doesn't negate the fact that ooRexx has it's own language section, and that's where ooRexx programs belong, not in the Classic Rexx language section.

Also, it doesn't matter if ooRexx may execute a Classic REXX program (or not), ooRexx still has its own language section, and it exists for more than one reason (and I'll not go into listing them here --- but the ooRexx language section DOES exist, and it's for ooRexx programs) --- puting ooRexx programs yet into another language section is a waste of space on Rosetta Code and also user's time and effort when trying to find a Classic REXX solution.   I have no agenda trying to push ooRexx (and it's claim that it can run/execute Classic REXX programs).   We've been here before, REXX is for any Classic REXX interpreter, ooRexx is for the Object Orientated Rexx interpreter(s).   I won't remove the (2nd) ooRexx entry that was moved to the ooRexx section;   if the original author wants to remove it, they can of course.   Let's try to keep the two languages separate and refrain from entering ooRexx programs under the wrong language category.   A while back, someone actually used the (my) Classic REXX program (in its entirety) and executed it in toto under another (non-REXX) language, and it produced exactly the same output (and it was noted as such in that other language's output section).   That another language (not any form of REXX) correctly executed the Classic REXX program doesn't give me license to enter that Classic REXX program under another language (section), even though it executes the REXX program perfectly correct (sic).   There is no need to enter an ooRexx program under two language entries (REXX and ooREXX).   Putting another language under the REXX entry just to show the differences between Classic REXX and ooRexx is not the way to show the differences.   One can just view the output of the ooRexx program (under the ooRexx section) and compare it with the program under the REXX entry to see the differences (that goes for NetRexx as well).   Adding a duplicate version under the wrong or inappropriate section is contrary to the philosophy at Rosetta Code (as I understand it).   I know there is a falsely-held belief that ooRexx will execute Classic REXX programs, but there is enough differences such that ooRexx has its own section, so the claim that ooRexx executes (all/some/many) Classic REXX programs is a mute point.   I do understand that ooRexx may correctly execute some Classic REXX programs.   But there are enough differences in the two languages that having ooRexx programs under the Classic REXX language section would just clutter up the entries in the REXX section;   why make it more difficult for people who want to just look at Classic REXX programs and not have to wade through ooRexx programs as well?   Putting ooRexx programs under the Classic REXX language section will also make it a royal pain in the neckhole if a person wanted to find an ooRexx program for a Rosetta Code task, and they had to look in   two   places, ooRexx and also (Classic) REXX.   There are enough versions of Classic REXX programs as it is.   That is one reason why ooRexx has its own language section, but certainly not the only reason).   Furthermore, I certainly don't want to go through 700 different Classic REXX entries and label each of them as being Classic REXX and which Classic REXX interpreter that was used to test the program which produced the output (not the least of which are the mis-entered ooRexx programs in the Classic REXX section) --- it's always easy to suggest that somebody else do the work.   So, that would be another reason to keep and have ooRexx entries in the ooRexx language section.   Classic REXX programs in the REXX language section, ooRexx programs in the ooRexx language section, NetRexx programs in the NetRexx language section. -- Gerard Schildberger (talk) 00:48, 13 September 2014 (UTC)

I still have to carefully read your essay, bur let me ask a few questions:


Is section REXX to contain REXX programs or implementations?
WHY do you mention NetRexx in your essay? Just to make it longer??
Can all REXX implementations that you use run my version successfully?
Aren't my variable names more intuitive than yours?
What's wrong when I show what a particular implementation does with a program?
Does REXX have a changestr BIF?
Why do you ever so often say "some REXXes~ don't contain... CHANGESTR," for example?
Where did I ask you to rewrite your programs to please ooRexx (and me)?
WHAT's WRONG with my statement "ooRexx is an interpreter that can perfectly process "classic" Rexx programs that obey a few (actually very few) restrictions."?
Why do you delete other person's programs?
Why do YOU add a REDUNDANT program to the ooRexx section?
SIGH --Walterpachl (talk) 05:58, 13 September 2014 (UTC)