 |
ooRexx 4 Beta |
ooRexx An open source project managed by Rexx Language Association (RexxLA) providing a free implementation of Object Rexx
System Requirememts Mac OS X 10.4 or later |
 |
| Download Details |
|
| Company |
Rexx Language Association |
| Version |
4 Beta |
| Post Date |
May 06, 2009 |
| License |
Freeware |
| File Size |
3.4 MB |
|
|
|
|
|
There are no screenshots |
|
ooRexx 4 Beta
An open source project managed by Rexx Language Association (RexxLA) providing a free implementation of Object Rexx ooRexx (Open Object Rexx) is an Open Source project managed by Rexx Language Association (RexxLA) providing a free implementation of Object Rexx. Object Rexx is an enhancement of classic Rexx; a powerful, full-featured programming language which has a human-oriented syntax. The ooRexx interpreter allows you to write programs procedurally as well as in an object-oriented fashion. NOTE: ooRexx is distributed under the Common Public License (CPL) v1.0. Main features of ooRexx:
Easy to use and easy to learn
Upwardly compatible with classic Rexx
The ability to issue commands to multiple environments
Offers powerful functions
Based on English-like commands
Enhanced with full object orientation
Designed for object-oriented programming, and also allows Rexx conventional programming
Provides a standard Rexx API to develop external function libraries written in C
An English-like language: To make Rexx easier to learn and use, many of its instructions are meaningful English words. Unlike some programming languages that use abbreviations and large numbers of punctuation characters, Rexx instructions are common words, such as SAY, PULL, IF...THEN...ELSE, DO...END, and EXIT.
Fewer rules: Rexx has relatively few rules about format. A single instruction can span many lines, and you can include multiple instructions on a single line. Instructions can begin in any column and you can type them in uppercase, lowercase, or mixed case. You can also skip spaces in a line or entire lines, since there is no line numbering. Keywords are also only reserved in context; ie if you want a variable called date, then it is valid, even though Rexx has a built-in function of the same name. The Rexx interpreter knows which one you are refering to based on its context; just as the programmer also knows.
Interpreted, not compiled: Rexx is an interpreted language. When a Rexx program executes, its language processor reads each statement from the source file and runs it, one statement at a time. Languages that are not interpreted must first be compiled into object code before being run. This slows down development time.
Built-in functions and methods: Rexx has a rich set of built-in functions and methods that perform various processing, searching, and comparison operations for text and numbers. These also provide formatting capabilities and arithmetic calculations.
Typeless variables: Rexx treats all data as objects of different kinds. Variables can hold any kind of object, so you do not need to declare variables as strings or numbers. If you want to do arithmetic operations on a variable, then provided the variable has a recognised numeric value it can be done.
String handling: Rexx includes powerful functionality for manipulating character strings. This allows programs to read and separate characters, numbers, and mixed input. Rexx performs arithmetic operations on any string that represents a valid number, including those in exponential formats.
Decimal Arithmetic: Rexx has always based its arithmetic operations on decimal arithmetic, rather than on binary arithmetic that other languages use. Decimal arithmetic is the type of arithmetic humans use and is accurate, unlike binary arithmetic which computers use internally which is inaccurate. Other languages have finally realized the benefits of accurate arithmetic and are starting to include decimal arithmetic capabilities that are based on Rexx's arithmetic. For a complete coverage of decimal arithmetic, see Mike Cowlishaw's Decimal Arithmetic Page.
Clear error messages and powerful debugging: Rexx displays messages with full and meaningful explanations when a Rexx program encounters an error. In addition, the TRACE instruction provides a powerful debugging tool.
What's New in This Release:
1811384 - 3.2.0 streamsupplier leaves stream open
1603254 - SUBCLASSES method does not work correclty
1816838 - String makearray class uses improper string test
1817044 - Relation items() method performance problem
1834618 - Using Security Manager causes seg fault
1837034 - Performance problems in stream arrayin method
1856576 - bug with multiple time('r') calls on same instruction.
1856717 - lines( , "") should not be valid
1858730 - empty method does not empty after append
1866822 - mutable buffer core dump
1876731 - Bug in Delete Instance Method of RexxQueue Class
1881558 - Not all unints are getting run
1887504 - Trace output from the parse command is sometimes misordered
1928224 - Array~Dimension(1) Returns wrong value
1970589 - value('88p8p') == '.8P8P'
1997863 - hang in threaded rexx program
2016732 - ~lines() failure in 4.0
2074349 - Multiple interpreter instances mix up .local & .environment
2121999 - package~addPublicRoutine(...) bombs
2144661 - minor issues with socket class
2149775 - RexxCreateQueue API Error
2150063 - RexxPullFromQueue Not Terminating String
2152197 - RexxvariablePool Returns RXSHV_NOAVL
2153363 - RexxVariablePool and Bad Variable Names
2153460 - RexxVariablePool No Generating Expected RXSHV_MEMFL Error
2155301 - RexxVariablePool Issues Wrong Error
2155550 - RexxVariablePool RXSHV_NEXTV Problem
2157967 - RxFuncAdd and Other Problems
2163868 - RexxAddMacro Bug
2194862 - 4.0.0.3609 sample ktquard.rex hangs
2469796 - uninit method not called when interpreter terminates
1098930 - Add a o-o native language API.
1105841 - RFE4IBM: add some sort of CLASSPATH for Object Rexx
1105889 - RFE4IBM: improve charin() performance by...
1111907 - Add concept of constants to class definitions
1144953 - ooRexx multiple inheritance among metaclasses not working
1490541 - stem output for SysDumpVariables
1503291 - Add QUALIFY BIF
1628466 - CircularQueue pushUnique method
1666636 - Add source of caller to function search order.
1711169 - Add a identity table to collection classes.
1739607 - Please add string (Last-)Pos length parameter
1775165 - ooRexxUnit should have regular release versions
1810883 - Add mixin class for ordered comparisons.
1871145 - Add UTC to DATE() time() functions
1887986 - Add a Routine class to ooRexx
1887996 - Expose program source as Rexx method.
1952525 - Support ISO-8859-1 NOT character
2007159 - Add ReplaceAt method to string class
2036765 - Add a clear method to the RexxQueue class.
2036766 - Add a makearray method to RexxQueue class.
2050437 - Expand the access rules for PRIVATE methods.
2053293 - Add ReplaceAt to the mutablebuffer class
2053719 - Add countStr and caselessCountStr to mutable buffer.
2053721 - add changeStr and caselessChangeStr to mutable buffer class.
2053961 - Add caseless pos and lastpos to mutablebuffer
2054519 - Add upper and lower to mutablebuffer
2054543 - Add a start and range argument to translate
2054544 - Add translate method to mutablebuffer
2057799 - Add Match and caselessMatch to mutablebuffer
2057804 - add matchChar and caselessMatchChar to mutable buffer
2057806 - add verify to mutablebuffer
2058009 - add subword to mutablebuffer
2058010 - add wordpos to mutablebuffer
2058012 - add wordindex to mutablebuffer
2058015 - Add verification length to verify()
2058018 - add wordlength() to mutablebuffer
2058022 - add word() to mutablebuffer
2058023 - add words() to mutable buffer
2058055 - Add delword to mutablebuffer
2086854 - Add a toDirectory() method to stem
2118312 - Add "exists" method to the .rexxqueue class
2126990 - Add a means to dynamically load an external library.
2126996 - Allow dynamic creation of external methods and routines.
2151677 - Add RS and LINE to .RexxContext
2152278 - Add additional function exit variant.
2175763 - Add location option to filespec.
2184443 - Upgrade random algorithm to 64-bit
2552719 - Add a SEND method to object class.
2552722 - Add startWith() method to object class.
2597124 - Windows specfic classes don't belong in rexxref
2663450 - RexxUtil generic existance check API
1391047 - SysWaitEventSem consumes huge memory and got rc=95 error
1727269 SysTempFileName generates memory error
1825892 - stdint.h not available on older compilers
1828516 - Older svnversion needs an arg
1838420 - rxmath - on Linux matherr() is not linked in
1839488 - Seg fault with queues and empty lines (Linux)
1867224 - The BIF rxqueue returns a zero-length string
1908020 - RXTRACE environment symbol crashes interpreter
1941155 - rexx manpage error on Ubuntu w/ 7.04 package
1809305 - Debian build dependencies
1826922 - Compile fails on linux svn rev 1193
2160847 - ServiceException.hpp fix missing include, conversion warning
2491985 - updated build instructions for AIX
2493960 - Update for unix-like-build.txt (AIX)
1639620 - Sysini requires dir part of path
1761497 - ooDialog doc - add ... methods not documented correctly
1818323 - typos in Rev 985 of RexxRef
1824147 - caseless examples wrong
1824829 - Error in standarddialog.sgml Example
1826924 - rexxref Wrong method description
1827428 - man pages category wrong
1827815 - Patch for collclasses.sgml
1832925 - 5.3.6.23. put examples need fixing
1836432 - RexxRef makeArray Example
1837371 - RexxRef 3.2.0 List class MakeString
1842489 - 11.2.5 wrong method
1842528 - 2.29 missing verb
1849336 - String class methods don't alter the original string
1849339 - 5.1.3.47 makeArray doesn't say what example produces
1849726 - instanceMethods needs clarifying
1855089 - FILENAMEDIALOG returns 0 if cancel.
1855881 - FILENAMEDIALOG changes directory
1860899 - Add documentation for WeakReference class
1860900 - Add documentation for ::CONSTANT keyword.
1860904 - Add documentation for Pointer class.
1860905 - Add documentation for Buffer class.
1880666 - RexxRef: 8.1 List of RexxUtil Funcs is missing RxXxx Funcs
1905153 - SysGetMessage( 0 )
1908292 - The WindowsEventLog Class
1914663 - aBaseDialog~GetSelf typos, etc.
1945447 - RexxRef 3.1 attribute set example
1951499 - RexRef 5.4.1.41 weekday typo
2011440 - SysFileTree info incomplete/error
2012128 - RxFTP sample fails with error 93.914
2065659 - error in example for directory BIF
2100048 - Relation class hasItem needs to indicate index is optional
2100051 - Cleanup information about white space usage
2132357 - Document package~loadLibrary
2132358 - Document routine loadExternalRoutine
2132359 - Document method loadExternalMethod
2132361 - Document stem toDirectory()
2132364 - Document verification length for verify
2132370 - Document length and range arguments of translate
2132378 - Docs for replaceAt method
2134097 - Document expanded external function search order
2134101 - Add docs for the Orderable mixin class.
2134111 - Docs for .constant and .RexxContstant
2134170 - WeakReference class
2139078 - Document 0xAC as an alternate not char
2141326 - Document time zone additions to .DateTime
2142883 - Document RexxQueue exists and open
2151611 - Update windows-build.txt
2164149 - "system error codes" need pointers to look up
2164645 - Array Next Method Problem
2165039 - Bag Union Method Problem
2176624 - Add documentation for qualify() BIF
2178822 - 1.11.2.4. Logical Operator description
2196795 - RexRef RxFuncAdd parms need description
2353987 - Relation Allindexes text wrong
2455439 - About changes to the process environment
2485564 - Add RexxPullFromQueue API
2485565 - Document RexxOpenQueue API
2485567 - Document RexxQueueExists
2485571 - Document RexxClearQueue
2505667 - Document new PRIVATE method rules.
2515776 - Document new behaviour of RxFuncAdd
2517194 - Cleanup parameter types in docs to match header file.
|