SCOUG Logo


Next Meeting: Sat, TBD
Meeting Directions


Be a Member
Join SCOUG

Navigation:


Help with Searching

20 Most Recent Documents
Search Archives
Index by date, title, author, category.


Features:

Mr. Know-It-All
Ink
Download!










SCOUG:

Home

Email Lists

SIGs (Internet, General Interest, Programming, Network, more..)

Online Chats

Business

Past Presentations

Credits

Submissions

Contact SCOUG

Copyright SCOUG



warp expowest
Pictures from Sept. 1999

The views expressed in articles on this site are those of their authors.

warptech
SCOUG was there!


Copyright 1998-2024, 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.

The Southern California OS/2 User Group
USA

SCOUG-Programming Mailing List Archives

Return to [ 19 | June | 2008 ]


Date: Thu, 19 Jun 2008 18:54:15 -0700
From: "Gregory W. Smith" <gsmith@well.com >
Reply-To: scoug-programming@scoug.com
To: scoug-programming@scoug.com
Subject: SCOUG-Programming: The SL/I language reference manual.

Content Type: text/plain

On Sun, 15 Jun 2008, "Lynn H. Maxson" wrote:
> I still shake my head at the charge that no language reference manual
> exists for SL/I. It certainly exists for PL/I, a proper subset of
> SL/I. At least that much lies in the public domain. Now I have no
> reason to change the syntax. In fact we need only three additional
> language features to have the complete SL/I.
>
> LUMPL LRM> One, we need a formal means of defining a list aggregate construct. In
> LUMPL LRM> PL/I all data definitions, thus all "referents", occur in a data
> LUMPL LRM> declaration statement which begins with a "dcl" or "declare" and of
> LUMPL LRM> course ends in a semi-colon. None of those statements beginning with
> LUMPL LRM> "int", "float", or "char" which accounts for "reserved" words in C and
> LUMPL LRM> elsewhere, but not in PL/I. In fact neither "dcl" or "declare" are
> LUMPL LRM> reserved words in PL/I, only "keywords" which relies on the statement
> LUMPL LRM> context for their actual meaning.
> LUMPL LRM>
> LUMPL LRM> Now lists are either single-linked (next entry or null (end of list)) or
> LUMPL LRM> double-linked (
> LUMPL LRM> previous or next entry or null (beginning or end of list)). An entry is
> LUMPL LRM> either an element or an aggregate (array, structure, or list). It
> LUMPL LRM> doesn't seem a stretch to think of something like "dcl 1 army double, 2
> LUMPL LRM> (some element or aggregate)...;" That's one down.
> LUMPL LRM>
> LUMPL LRM> Two, we need some means for assigning rules to referents. Those rules
> LUMPL LRM> can include inclusive listing of values (the same as type 88 does
> LUMPL LRM> currently in COBOL) or a range of values as in "10...999" or some
> LUMPL LRM> combination thereof. It can also include "referential integrity" such
> LUMPL LRM> as in the instance of a client like SCE which has two or more data
> LUMPL LRM> fields in which the values of one determine the possible values
> LUMPL LRM> associated with the other(s). Implemented here just as they are in DB2,
> LUMPL LRM> Oracle, and MySQL relational databases. That's two down.
>
> Three, the addition of the assertion statement, which is no more than an
> assignment statement on steroids. An assignment statement like "a = b +
> c;" says that the right-hand side produces a single element value which
> replaces that of "a". If "a" is an aggregate and either "b" or "c" or
> both are matching aggregates, it simply means that
> position-corresponding element results on the right-side replace those
> on the left. Now an assertion operates like a SELECT statement in SQL
> (which is an assertion) that asks for "all" value results for certain
> elements contained in a data aggregate (like a file or a table or in
> "storage" equivalent" where certain conditions apply, i.e. result in
> "true". That's the right-hand side. The left-hand side contains the
> "true" results from the right-hand, just like in SQL. Just like in SQL
> it can contain zero (all false) or one or more "true" entries. That's
> the way SQL works. That's the way AWK works (for you C fans). That's
> the way an assertion in SL/I works. We haven't shown an actual example
> of such an assertion which requires a condition like "a = 100...125(b);"
> which is the list of elements in "b" entries associated in rows or
> records with values of "a" between 100 and 125 inclusive. Of course, it
> can be as complicated in terms of "and(&)" and "or(|)" conditions of
> PL/I as in SQL or as "nested" also in SQL. That's three down.
>
> There, Greg, you have your language reference manual.

NOT EVEN CLOSE. You are still talking LUMPL here.

Go get a copy of SC27-1460-07 from IBM and stick the section "LUMPL LRM"
at the end of chapter 8. Then give an example of how you use these
additions to make a simple list. Maybe twenty to twenty five lines of
code with a simple explaination of how the code works. You should
be able to do it all in a page or two.

AND THEN

Please explain how LUMPL improves on the PL/I list processing example
on pages 244 and 245 in the manual.
--
Gregory W. Smith (WD9GAY) gsmith@well.com

=====================================================

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 [ 19 | June | 2008 ]



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.