Compatibility
IML Studio provides a high degree of compatibility with IMLPlus programs developed for IML Workshop. However, to make IML Studio the best it can be, some changes have been made that will require
minor changes to existing IML Workshop programs. Please refer to the following information to learn what has changed and how to adapt to those changes. Note that this information pertains only
to compatibility issues. It does not list all the new features present in IML Studio.
General Changes
- Program environments are now called workspaces.
- In IML Workshop, both output document windows and data view windows could be attached to multiple workspaces (program environments). In IML Studio, only LISTING output document windows
can be attached to multiple workspaces.
- In IML Workshop, it was possible to have a data view window that was not attached to any workspace (program environment). This is not allowed in IML Studio. In IML Studio, when you open
a SAS data set using the Open File dialog box, IML Studio automatically creates a new workspace and attaches the data table window to it.
- Data view windows no longer support the Auto Close option.
- In IML Workshop, the sample data sets were installed in the directory <IMLWorkshop>\Data Sets\Samples, where <IMLWorkshop> is the directory in which you installed IML Workshop.
In IML Studio, the sample data sets are installed in the directory <IMLStudio>\Data Sets, where <IMLStudio> is the directory in which you installed IML Studio.
- In IML Workshop, the sample matrices were installed in the directory <IMLWorkshop>\Matrices\Samples, where <IMLWorkshop> is the directory in which you installed IML Workshop.
In IML Studio, the sample matrices are installed in the directory <IMLStudio>\Matrices, where <IMLStudio> is the directory in which you installed IML Studio.
IMLPlus Language Changes
- Data type conversions from a Java integral type to a Java String object now require an explicit
(String) type cast. For example:
declare int n = 5;
declare String s;
s = (String)n;
- Data type conversions from a numeric matrix to a Java String object now require an explicit
(String) type cast. For example:
x = 3.14;
declare String s;
s = (String)x;
- The precedence of the Java type cast operator "(type)" has changed to conform to the Java language. See
Operators in IMLPlus.
- The precedence of the Java logical AND operator "&&" has changed to conform to the Java language. Note that IMLPlus now also provides the Java logical OR operator using
the syntax |||. See Operators in IMLPlus.
- IMLPlus now performs short-circuit evaluation for the Java logical AND "&&" and logical OR "|||" operators, just as Java does. See
Operators in IMLPlus.
- In IML Workshop, a duplicate declare statement without an explicit initializer was ignored. In IML Studio, a declare statement without an explicit initializer re-initializes
the variable to its default value, which is either 0 or null. For example:
declare int n;
n = 1;
/* n is 1 */
declare int n;
/* n is 0 */
declare String s;
s = "Hello";
/* s is "Hello" */
declare String s;
/* s is null */
This change in behavior makes Statement Mode more predictable. Each time you execute a statement block that
contains declare statements, the declare statements re-initialize the variables.
- The hexadecimal format of color values has changed. In IML Workshop, color values were of the form 00bbggrrX, which is the form used internally by Windows. In IML Studio, color values
are of the form 00rrggbbX, which is the form used by SAS/GRAPH and HTML. If your programs refer to colors using the predefined IMLPlus constants such as RED or GREEN, this change
will be transparent to you. However, if your programs generate color values by other means, you will need to revise your code to generate the color values in the new format. IMLPlus now provides
more predefined color constants. See DataObject.SetMarkerColor.
- IMLPlus now uses an improved algorithm to choose which method to call when there are multiple methods with the same name. See
Signature Selection Algorithm.
IMLPlus Class Library Changes
IMLPlus Module Library Changes
A few modules have been deprecated and replaced with new modules, as shown in the following table:
Note that the IML Workshop modules still exist but merely call the new IML Studio modules.