SCOUG-Programming Mailing List Archives
Return to [ 25 |
November |
2006 ]
Content Type: text/plain
SL/I shares PL/I's syntax. Every program element is a
statement. Every statement ends in a semi-colon (;). No
exceptions.
SL/I shares PL/I's respect for element variables. All
operations, including those involving aggregates, in PL/I occur
on an element by element basis. No exceptions.
SL/I shares PL/I's support of operations on aggregates, i.e.
arrays (homogeneous) and structures (heterogeneous). SL/I
adds "native" support for list aggregates a la LISP. SL/I adds
"native" support for APL operators beyond those present in
PL/I.
SL/I like PL/I does not rely on a separate, possibly third-party,
library. Instead both rely on a set of built-in functions, all of
which are known to the interpreter/compiler essentially as
"source code". Beyond this SL/I as an interpreter/compiler
uses source code input only contained within a single library.
As SL/I has a "native" list aggregate it can extend the
"assignment" statement with the addition of an "assertion"
statement. This results in taking PL/I from its third generation
HLL status to SL/I's fourth generation HLL. Where an
"assignment" statement may return one and only one "true"
result an "assertion" may return zero, one or more. Thus an
"assertion" may return a "false" (zero "true" results) or one
or more "true" results: a list aggregate of zero (null list), one
or more entries.
Note that if an assignment statement cannot return one and
only one true result the interpreter/compiler and the entire
program fails: no executable or execution possible. In the
compilation stage this is represented as a "severe" error. Note
that in SQL, a fourth generation language in which we pose a
query as an assertion, a query can "fail", i.e. produce no
"true" results or a zero (null) result. Thus what is
"catastrophic" for an assignment is "normal" for an assertion.
Just as with an SQL query (assertion) imbedded within a
program the programmer has to add logic accounting for its
possible "failure": no true instances. Just as with an imbedded
SQL query (assertion) the programmer has to add logic to
account for all true instances (one or more).
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"postmaster@scoug.com".
=====================================================
Return to [ 25 |
November |
2006 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|