Software Testers' Page

This page contains updated versions of current Wolverine products and trial versions of new products.  Updates to existing products are placed on this page only when substantial changes have been made, and notwithstanding rigorous testing by Wolverine, there's a small, but non-zero probability of failure, due to the extensive nature of the changes.  New products are placed on this page to allow you to get an advanced look at them and to provide us feedback.  The testing programs for some new products may be by invitation only.  We do this in the early stages of new product testing, when we prefer to work with a small number of existing customers.  Of course, if you'd like to become a participant in a limited program, you can always ask us.

Software Download Security Issues

You should be concerned with the security of files you download. Important information about the security of Wolverine-provided downloads is available here.

License Agreements

All updates are subject to the license agreements you agreed to when the software was originally installed.

Software Available for Testing - SLX 2.0

Wolverine has always described SLX as being object-based, but not truly object oriented.  With the advent of SLX 2.0, a number of object-oriented features have been added, including single inheritance and Java-like interfaces. A complete overview of the new features is provided in the download described below.

A beta version of SLX 2.0 is now available.  For those of you who have been testing SLX 2 for some time, please note that SLX 2 is now integrated into SLX 1.  Previously, the executable for SLX 2 was named SLX2.exe, and all SLX 2-related files were stored in the Wolverine\SLX2 directory.

Any program that makes use of SLX 2 features should contain a "define statement of the following form:

    #define SLX2 ON

This definition enables SLX 2 features.

Note that SLX2 is currently in beta test.  When the beta testing period ends, Wolverine will be charging an upgrade fee to existing SLX 1 users whose licenses are older than one year.

Documentation for SLX 2 is available in Wolverine\SLX\Doc\SLX2.  Sample programs are stored in Wolverine\SLX\Sample\SLX2. 

Your feedback is welcomed as SLX moves forward into its next generation.

Note: SLX was last updated on January 27, 2009.

To download SLX 2, simply apply the latest SLX update.  Click here to go to the SLX Updates page.

Old Updates (Prior to January, 2010)

January 21, 2010 Update

Enhancements and changes include the following:

1.  When applied to a class, the "abstract" prefix is no longer automatically applied to all method definitions within a class.

2.  A number of problems using subclassed pointers as procedure arguments have been solved.

3.  Random crashes that occasionally occurred when recompiling programs have been eliminated.

October 30, 2009 Update

Enhancements and changes include the following:

1.  An option has been added to the Options menu to enable warning messages when contexts requiring pointer promotion is required.

For example, if "p" is a pointer to a tractor, and "v" is a pointer to a vehicle, and class tractor is derived from class vehicle, than an assignment of the form

    t = v;

requires pointer promotion (a run-time validation that "v" currently points to a tractor or subclass of a tractor).  Many people view pointer promotion as an ordinary operation.  Accordingly, the new option for warning pointer promotions defaults off.  For those who view pointer promotion an unusual or even dangerous construct should consider turning the new option on.

2.  "abstract" / "concrete" pairing is now enforced for methods of an interface.  Such methods must be declared "abstract" in the definition of an interface and "concrete" in any classes that implement the interface.

3.  A class that is declared to implement an interface must implement all methods of the interface.  The test for completeness prior to this release was flawed, but is now enforced correctly.

October 30, 2009 Update

Enhancements and changes include the following:

1.  In response to user feedback, a new syntax has been defined for declaring abstract methods:

    old:    abstract method M(...)    { }        // empty body required

    new:   abstract method M(...);                // no body, just a semicolon

2.  The "unprotected" keyword allows overriding a default "protected" status.  For example, in a protected class, individual class members can be declared to be unprotected.

3.  Under the SLX debugger, pop-up right-click menu items now allow displaying source code for both a concrete instance of an abstract method and the original abstract method declaration.

4.  A menu item has been added to the "Options" to have SLX issue warnings for contexts in which run-time pointer promotions are required.  Since most users prefer not to see such warnings, the new option defaults off.  Note that this option controls only the generation of such warnings.  If you actually want to see them, be sure that the "Warnings" option is checked (under Options, Output).

5.  The documentation has been updated to reflect recent additions and changes.