Category:REXX: Difference between revisions
m added whitespace. |
m added whitespace and some wording. |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{language |
{{language |
||
⚫ | |||
⚫ | |||
| exec=interpreted |
|||
⚫ | |||
⚫ | |||
|gc=allowed |
|||
| gc=allowed (and in most versions of REXX, it is automatic, but garbage collection isn't mandated). |
|||
|safety=safe |
| safety=safe |
||
⚫ | |||
⚫ | |||
⚫ | |||
| standardized=yes |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| untyped=yes |
|||
| intended=intended for general, application, algorithms, scripting, host/sub─system scripting/interfacing, data/text processing, programming as a human activity. |
|||
| goal=the REXX language is designed to make programming easier; to foster high quality programs by making writing them as simple and enjoyable as possible; designing each part of the language for people to use is more important than providing easy implementation; follows the principle of least astonishment [https://en.wikipedia.org/wiki/Principle_of_least_astonishment (POLA)]. }} |
|||
⚫ | <cite>REXX (REstructured eXtended eXecutor) is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read. Both proprietary and open source interpreters for REXX are available on a wide range of computing platforms, and compilers are available for IBM mainframes.</cite> |
||
⚫ | |||
⚫ | <cite>REXX (REstructured eXtended eXecutor) is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read. Both proprietary and open source interpreters for REXX are available on a wide range of computing platforms, and compilers are available for IBM mainframes.</cite> |
||
Line 20: | Line 22: | ||
::* <big> <big>R</big><small>EXX </small> </big> |
::* <big> <big>R</big><small>EXX </small> </big> |
||
::::::: but the primary official spelling is '''REXX''' and is the spelling used here on Rosetta Code. |
::::::: but the primary official spelling is '''REXX''' and is the spelling used here on Rosetta Code. |
||
The '''REXX''' language was influenced by the computer programming languages: '''ALGOL, PL/I, EXEC,''' and '''EXEC 2.''' |
|||
⚫ | |||
<big><big>Versions of REXX:</big></big> |
|||
* '''[[Brexx]]''' a classic REXX written by Vassilis N. Vlachoudis, it is free and it's open source and available under the GNU General Public License. |
|||
⚫ | |||
⚫ | |||
* '''[[ |
* '''[[Brexx]]''' a classic REXX written by Vassilis N. Vlachoudis, it is free and it's open source and available under the GNU General Public License. |
||
⚫ | |||
⚫ | * '''[[CTC REXX]]''' is a classic REXX that is bundled with PC/SPF and written by Command Technology Corporation, a license is required to use this product. This version of REXX can only be used under PC/SPF and it's panels. PC/SPF resembles the IBM program product SPF (which has other names and versions). |
||
⚫ | * '''[[ |
||
* '''[[ |
* '''[[KEXX]]''' is a subset of REXX that is bundled with KEDIT and written by Keven J. Kearney of Mansfield Software Group, Inc., a license is required to use this product. KEXX only executes under the KEDIT licensed product. KEDIT is an XEDIT clone (an editor from IBM for VM/CMS program products). |
||
⚫ | |||
* '''[[MVS/TSO REXX]]''' is IBM's implementation of classic REXX, a license is required to use the product as well as the operating system it runs under; '''MVS''' and '''TSO''' are used here as generic references. |
|||
⚫ | * '''[[NetRexx|NetRexx]]''' is IBM's variant of the REXX programming language to run on the Java virtual machine. It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support Object-oriented programming in a manner compatible with Java's object model, yet can be used as both a compiled and an interpreted language, with an option of using only data types native to the JVM or the NetRexx run-time package. The syntax and object model of NetRexx differ from Object REXX. |
||
⚫ | * '''[https://en.wikipedia.org/wiki/Object_REXX Object REXX]''' is/was an object-oriented scripting language initially produced by IBM for OS/2. It is a follow-on to and a significant extension of the "Classic Rexx" language originally created for the CMS component of VM/SP and later ported to MVS, OS/2 and PC DOS. OS/2 version of IBM Object REXX is deeply integrated with SOM. On October 12, 2004, IBM released Object REXX as open source software, giving rise to |
||
* '''[[ |
* '''[[MVS/TSO REXX compiler]]''' is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under. |
||
⚫ | |||
⚫ | * '''[[NetRexx|NetRexx]]''' is IBM's variant of the REXX programming language to run on the Java virtual machine. It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support Object-oriented programming in a manner compatible with Java's object model, yet can be used as both a compiled and an interpreted language, with an option of using only data types native to the JVM or the NetRexx run-time package. The syntax and object model of NetRexx differ from Object REXX and Open Object Rexx. |
||
⚫ | |||
⚫ | |||
⚫ | * '''[https://en.wikipedia.org/wiki/Object_REXX Object REXX]''' is/was an object-oriented scripting language initially produced by IBM for OS/2. It is a follow-on to and a significant extension of the "Classic Rexx" language originally created for the CMS component of VM/SP and later ported to MVS, OS/2 and PC DOS. OS/2 version of IBM Object REXX is deeply integrated with SOM. On October 12, 2004, IBM released Object REXX as open source software, giving rise to <u>O</u>pen <u>O</u>bject <u>Rexx</u> (ooRexx). |
||
⚫ | |||
* '''[[ooRexx|ooRexx]]''' (Open Object Rexx) is an implementation of [[wp:Object REXX|Object REXX]], which is REXX with OO features (some REXX programs are compatible). |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* '''Portable REXX''' (see the '''R4 REXX''' entry, below). |
* '''Portable REXX''' (see the '''R4 REXX''' entry, below). |
||
* '''[[Regina REXX]]''' is an implementation first created by Anders Christensen (in 1992) and now maintained by others, notably Mark Hessling. Regina REXX runs on more different platforms than any other REXX, too many to name here. It can be downloaded freely. |
|||
* '''[[ |
* '''[[Regina REXX]]''' is an implementation first created by Anders Christensen (in 1992) and is now maintained by others, notably Mark Hessling. Regina REXX runs on more different platforms than any other REXX, too many to name here. It can be downloaded freely. |
||
* '''[[Reginald REXX]]''' is a REXX developed by Jeff Glatt. It can be downloaded freely. |
|||
* '''[[REXX/imc]]''' a classic REXX developed by Ian M. Collier (imc) for Linux/Unix. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* '''[[ |
* '''[[T/REXX, a REXX compiler for CMS]]''' is an implementation of classic REXX written by Leigh Lundin and Mark Woodruff (according to Wikipedia). |
||
⚫ | |||
⚫ | * '''[[VM/CMS REXX]]''' is an IBM implementation of classic REXX that was first implemented (for general use) in the early 1980s. A license is required to use this product as well as the operating system that it runs under. This was the original implementation of REXX written (circa 1979) by Mike Cowlishaw of IBM. |
||
⚫ | |||
⚫ | |||
* '''[[ |
* '''[[VM/CMS REXX compiler]]''' is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under. |
||
⚫ | * '''[[VM/CMS REXX]]''' is an IBM implementation of classic REXX that was first implemented (for general use) in the early 1980s. A license is required to use this product as well as the operating system that it runs under. This was the original implementation of REXX written (circa 1979) by Mike Cowlishaw of IBM. |
||
* '''[[VM/CMS REXX compiler]]''' is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under. |
|||
<br>[Most of the entries were entered mostly from memory and apologies are offered for not knowing more about what wording should be used; the IBM operating systems or Program Products that run REXX are numerous and varied. Their complete (official) names would fill a pageful. Some of the REXXes are no longer sold nor available for downloading or purchase, others are no longer maintained. Naming of names is being avoided (especially those licensed products for sale), and it is hoped that this is seen that no products nor vendors are being endorsed, appraised, or critiqued.] -- [[User:Gerard Schildberger|Gerard Schildberger]] 09:28, 1 July 2012 (UTC) |
<br>[Most of the entries were entered mostly from memory and apologies are offered for not knowing more about what wording should be used; the IBM operating systems or Program Products that run REXX are numerous and varied. Their complete (official) names would fill a pageful or two. Some of the REXXes are no longer sold nor available for downloading or purchase, others are no longer maintained. Naming of names is being avoided (especially those licensed products for sale), and it is hoped that this is seen that no products nor vendors are being endorsed, appraised, or critiqued.] -- [[User:Gerard Schildberger|Gerard Schildberger]] 09:28, 1 July 2012 (UTC) |
||
Revision as of 13:51, 19 December 2020
This programming language may be used to instruct a computer to perform a task.
Execution method: | Interpreted |
---|---|
Garbage collected: | Allowed (and in most versions of REXX, it is automatic, but garbage collection isn't mandated). |
Parameter passing methods: | By value |
Type safety: | Safe |
Type strength: | Strong |
Type compatibility: | Nominative |
Type expression: | Inferred |
Type checking: | Dynamic |
Typing: | Untyped |
See Also: |
This page uses content from Wikipedia. The original article was at REXX. The list of authors can be seen in the page history. As with Rosetta Code, the text of Wikipedia is available under the GNU FDL. (See links for details on variance) |
REXX (REstructured eXtended eXecutor) is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read. Both proprietary and open source interpreters for REXX are available on a wide range of computing platforms, and compilers are available for IBM mainframes.
REXX is also spelled:
- Rexx
- REXX
- but the primary official spelling is REXX and is the spelling used here on Rosetta Code.
The REXX language was influenced by the computer programming languages: ALGOL, PL/I, EXEC, and EXEC 2.
Versions of REXX:
- ARexx is a classic REXX implementation (with extensions) for the AmigaOS, given in bundle since AmigaOS 2. (Regina REXX has specific support for the extended functions that were introduced in ARexx.) ARexx was written in 1987 by William S. Hawes.
- Brexx a classic REXX written by Vassilis N. Vlachoudis, it is free and it's open source and available under the GNU General Public License.
- CRX REXX (Compact REXX) is a classic REXX first written by Dr. Brian Marks.
- CTC REXX is a classic REXX that is bundled with PC/SPF and written by Command Technology Corporation, a license is required to use this product. This version of REXX can only be used under PC/SPF and it's panels. PC/SPF resembles the IBM program product SPF (which has other names and versions).
- KEXX is a subset of REXX that is bundled with KEDIT and written by Keven J. Kearney of Mansfield Software Group, Inc., a license is required to use this product. KEXX only executes under the KEDIT licensed product. KEDIT is an XEDIT clone (an editor from IBM for VM/CMS program products).
- MVS/TSO REXX is IBM's implementation of classic REXX, a license is required to use the product as well as the operating system it runs under; MVS and TSO are used here as generic references.
- MVS/TSO REXX compiler is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under.
- NetRexx is IBM's variant of the REXX programming language to run on the Java virtual machine. It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support Object-oriented programming in a manner compatible with Java's object model, yet can be used as both a compiled and an interpreted language, with an option of using only data types native to the JVM or the NetRexx run-time package. The syntax and object model of NetRexx differ from Object REXX and Open Object Rexx.
- Object REXX is/was an object-oriented scripting language initially produced by IBM for OS/2. It is a follow-on to and a significant extension of the "Classic Rexx" language originally created for the CMS component of VM/SP and later ported to MVS, OS/2 and PC DOS. OS/2 version of IBM Object REXX is deeply integrated with SOM. On October 12, 2004, IBM released Object REXX as open source software, giving rise to Open Object Rexx (ooRexx).
- ooRexx (Open Object Rexx) is an implementation of Object REXX, which is REXX with OO features (some REXX programs are compatible).
- OS/2 REXX is a classic REXX that is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under.
- OS/400 REXX is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under.
- PC/REXX is the first classic REXX implemented outside of IBM mainframes, intended for IBM DOS and MS DOS. Written by Mansfield Software Group, Inc., REXX was bundled with KEDIT, a license is required to use this product.
- Personal REXX is a classic REXX that is intended for IBM DOS and MS DOS, written by Charles Daney of Quercus Systems, a license is required to use this product. It is also known as REXX/Personal.
- Portable REXX (see the R4 REXX entry, below).
- Regina REXX is an implementation first created by Anders Christensen (in 1992) and is now maintained by others, notably Mark Hessling. Regina REXX runs on more different platforms than any other REXX, too many to name here. It can be downloaded freely.
- Reginald REXX is a REXX developed by Jeff Glatt. It can be downloaded freely.
- REXX/imc a classic REXX developed by Ian M. Collier (imc) for Linux/Unix.
- REXX/Personal is another name for Personal REXX (see above).
- ROO oo-REXX an object-oriented REXX developed by Keith Watts of Kilowatt Software, Inc. It can be downloaded freely. ROO is also known as ROO!.
- R4 REXX a classic REXX developed by Keith Watts of Kilowatt Software, Inc. It was also known as Portable REXX. It can be downloaded freely.
- T/REXX, a REXX compiler for CMS is an implementation of classic REXX written by Leigh Lundin and Mark Woodruff (according to Wikipedia).
- VM/CMS REXX is an IBM implementation of classic REXX that was first implemented (for general use) in the early 1980s. A license is required to use this product as well as the operating system that it runs under. This was the original implementation of REXX written (circa 1979) by Mike Cowlishaw of IBM.
- VM/CMS REXX compiler is an IBM implementation of classic REXX, a license is required to use this product as well as the operating system it runs under.
[Most of the entries were entered mostly from memory and apologies are offered for not knowing more about what wording should be used; the IBM operating systems or Program Products that run REXX are numerous and varied. Their complete (official) names would fill a pageful or two. Some of the REXXes are no longer sold nor available for downloading or purchase, others are no longer maintained. Naming of names is being avoided (especially those licensed products for sale), and it is hoped that this is seen that no products nor vendors are being endorsed, appraised, or critiqued.] -- Gerard Schildberger 09:28, 1 July 2012 (UTC)
External Links
- English Wikipedia REXX
- Brexx interpreter
- Open Object Rexx - www.oorexx.org
- The NetRexx Programming Language - www.netrexx.org
- The Rexx Language Association - www.rexxla.org
- Regina Rexx Interpreter
- Mansfield Software Group, Inc. (KEDIT)
- Personal REXX, Quercus Systems
- CTC Command Technology
- CRX Open Source (right column side)
- R4, Kilowatt Software
- ROO, Kilowatt Software
- z/VM V6R1 REXX/VM Reference
- z/VM V6R1 REXX/VM User's Guide
- {many references to REXX manuals}
Rosetta Code tasks not implemented in REXX
Subcategories
This category has the following 4 subcategories, out of 4 total.
@
- REXX examples needing attention (empty)
- REXX User (31 P)
R
- REXX library routines (20 P)
Pages in category "REXX"
The following 200 pages are in this category, out of 1,155 total.
(previous page) (next page)R
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Readline interface
- Real constants and functions
- Recaman's sequence
- Reduced row echelon form
- Reflection/Get source
- Reflection/List properties
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Remove vowels from a string
- Rename a file
- Rep-string
- Repeat
- Repeat a string
- Resistor mesh
- Return multiple values
- Reverse a string
- Reverse the gender of a string
- Reverse the order of lines in a text file while preserving the contents of each line
- Reverse words in a string
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rosetta Code/Find bare lang tags
- Rosetta Code/Fix code tags
- Rosetta Code/Rank languages by number of users
- Rosetta Code/Rank languages by popularity
- Rot-13
- RPG attributes generator
- Run-length encoding
- Runge-Kutta method
- Runtime evaluation
- Runtime evaluation/In an environment
S
- S-expressions
- Safe addition
- Safe mode
- Safe primes and unsafe primes
- Sailors, coconuts and a monkey problem
- Same fringe
- Sattolo cycle
- Scope modifiers
- Scope/Function names and labels
- Search a list
- Search a list of records
- Secure temporary file
- SEDOLs
- Selective file copy
- Self numbers
- Self-describing numbers
- Semiprime
- Semordnilap
- Send email
- Separate the house number from the street name
- Sequence of non-squares
- Sequence of primes by trial division
- Sequence: nth number with exactly n divisors
- Sequence: smallest number greater than previous term with exactly n divisors
- Sequence: smallest number with exactly n divisors
- Set
- Set consolidation
- Set of real numbers
- Set puzzle
- Seven-sided dice from five-sided dice
- Sexy primes
- Shell one-liner
- Shift list elements to left by 3
- Shoelace formula for polygonal area
- Short-circuit evaluation
- Shortest common supersequence
- Show ASCII table
- Show the (decimal) value of a number of 1s appended with a 3, then squared
- Show the epoch
- Sierpinski arrowhead curve
- Sierpinski carpet
- Sierpinski triangle
- Sieve of Eratosthenes
- Simple database
- Simulate input/Keyboard
- Sine wave
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Sleeping Beauty problem
- Smallest numbers
- Smallest power of 6 whose decimal expansion contains n
- Smallest square that begins with n
- Smarandache prime-digital sequence
- Smith numbers
- Snake and ladder
- Solve a Hidato puzzle
- Solve a Holy Knight's tour
- Solve a Hopido puzzle
- Solve a Numbrix puzzle
- Solve the no connection puzzle
- Sort a list of object identifiers
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort numbers lexicographically
- Sort stability
- Sort the letters of string in alphabetical order
- Sort three variables
- Sort using a custom comparator
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Cocktail sort with shifting bounds
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Cycle sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Soundex
- Sparkline in unicode
- Special characters
- Special divisors
- Special factorials
- Special neighbor primes
- Special pythagorean triplet
- Special variables
- Speech synthesis
- Spelling of ordinal numbers
- Spinning rod animation/Text
- Spiral matrix
- Split a character string based on change of character
- Spoof game
- Square but not cube
- Square form factorization
- Square root by hand
- Square-free integers
- Stable marriage problem
- Stack
- Stack traces
- Stair-climbing puzzle
- Start from a main routine
- State name puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Steady squares
- Stem-and-leaf plot
- Stern-Brocot sequence
- Stirling numbers of the first kind
- Stirling numbers of the second kind
- Straddling checkerboard
- Strange numbers
- Strange plus numbers
- Strange unique prime triplets
- Stream merge
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip block comments
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Strong and weak primes
- Subleq
- Subset sum problem
- Substitution cipher
- Substring
- Substring primes
- Substring/Top and tail
- Subtractive generator
- Successive prime differences
- Sudan function
- Sudoku
- Suffixation of decimal numbers
- Sum and product of an array
- Sum and product puzzle
- Sum data type
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Execution method/Interpreted
- Garbage collection/Allowed (and in most versions of REXX, it is automatic, but garbage collection isn't mandated).
- Parameter passing/By value
- Typing/Safe
- Typing/Strong
- Typing/Compatibility/Nominative
- Typing/Expression/Inferred
- Typing/Checking/Dynamic
- Typing/Untyped
- Programming Languages
- WikipediaSourced