Kilowatt Software L.L.C.
Welcome to
Kilowatt Software L.L.C.'s
Object-Oriented
Rexx Language Interpreter
for Microsoft® Windows® environments

for a detailed summary of the
roo!™ and a lot more !
product.

 

Click here
to download roo!™
it's

You'll also be able to download:
r4™
Poof!™
AuroraWare!™

Summary
roo!™ is a new object-oriented programming language, that is characterized by the simplicity and dynamism of Classic Rexx. The language includes the usual object-oriented suspects -- abstraction, information hiding, class inheritance and derivation, method overriding, and polymorphism. Many NetRexx innovations are included. A variety of commonly used classes are built-in within the language's execution environment. Classic Rexx programs can be executed directly, without modification. In addition, a roo!™ dynamic link library (DLL) is provided, which enables cooperative processing with programs written in C/C++ or Java programming languages.

Click here for a detailed summary of roo!™

Click here to view a presentation describing object-oriented programming and the roo!™ programming language.

Click here to review the complete roo!™ language specification.

 All Classic Rexx capabilities
  • All statement types
  • All built-in functions
  • All operators
  • Win32 command initiation
  • Arbitrary precision arithmetic
  • Excellent text parsing capabilities
  • Excellent string composition
  • Natural hexadecimal and binary literals
  • Integrated trace facility
  • Condition handling

Language Objectives

Provide object-oriented capabilities

    encapsulation

    abstraction

    derivation

    polymorphism


Ability to interpret Classic Rexx programs without modification.

    all Classic Rexx instructions and built-in functions

    arbitrary precision decimal arithmetic -- big numbers

    internal and external procedures

    compound stems/symbols

    call on/signal on condition handlers


Minimal Rexx language extensions

    class, method instructions

    class variables -- local, shared, static

    ^, ^^, and ~ operators

    new objection condition type, which can be programatically raised

    Instance option of datatype built-in function

    ! special command recognition

    { } shorthand vector expression

    built-in classes


Some NetRexx innovations

    [ ] array-like operators

    catch, finally condition handlers

    loop over aggregate objects, and compound stem groups

roo!™ is accompanied by Revu™, which is a colorful text file viewing accessory. The following is an extract of the msgbox.roo example program, as displayed by Revu™.

Revu™ is also used as a presentation tool by the roo!™ interactive trace facility.

roo!™ built-in classes

Aggregate a generic collection base class
BitVector a condensed vector of boolean values of a fixed size -- 4096 bits
Callback abstract callback class associated with an external program
CharacterVector a vector of one-byte wide characters
Clipboard a clipboard text encapsulation
Comparator abstract class for comparing two items
Console console stream
ContextVector
(aka StackTrace)
system call vector access class
DriveContext
(aka DiskContext)
drive (disk) reference context
Emitter an output stream emitter
Exception exception information that can be referenced by catch condition handlers
ExternalClass a class that is supported by an external program
File file information
FolderContext
(aka DirectoryContext)
folder (directory) reference context
InLineFile an input file that is accessed as a sequence of lines
InOutLineFile a file that is updated as a sequence of lines
InStream default input stream (standard input)
List a collection of heterogeneous items.
Map a collection of heterogeneous items. a map is indexed by a string value
Math various high precision (100 digit+) mathematic functions (natural logarithm, sine, cosine, etc) and constants (Π, e, Φ, γ)
Object a generic object base class
OrderedVector an ordered collection of items multiple items may have the same value
OutLineFile an output file that is accessed as a sequence of lines
OutStream default output stream (standard output)
Queue a collection of heterogeneous items, that is accessed at the front or end.
Socket a TCP/IP socket send/receive class
Set an ordered collection of unique items
Stack a collection of heterogeneous items, that is accessed at the end.
System system information
SystemPropertyMap a collection of system properties (aka environment variables) a map is indexed by a string value
Table a two dimensional table containing an arbitrary number of rows, and a fixed number of columns
Tree a hierarchical object
Vector a collection of heterogeneous items.
WideCharacterVector a vector of two-byte wide characters

Click here to review the complete roo!™ language specification.

The following is a segment of the roo!™ matrix operation example program.

Send e-mail product inquiries to: rooIinquiries@kilowattsoftware.com

Brightening your way into the future !