[comp.lang.c] Bad Dreams

Clem.Clarke@csource.oz.au (Clem Clarke) (02/22/90)

 BM> From: bill@zycor.UUCP (Bill Mahoney)
 BM> Date: 18 Feb 90 04:00:16 GMT
 BM> Organization: zycor, Inc. - Omaha, NE
 BM> Message-ID: <4@zycor.UUCP>
 BM> Newsgroups: comp.lang.c
 BM>
 BM> Bill Mahoney              //STEPLIB  DD  DSN=SYS2.LINKLIB,DSP=SHR
                                                               ^^^
                                                               DISP?
 BM> bill@zycor.UUCP           //SYSPRINT DD SYSOUT=A

 BM> Huh? Wha? Oh! It was only a bad dream!

Oh dear. A typical JCL error.  Can I tell you something about Jol?


My company writes and sells a language called Jol, which
enhances/replaces JCL, CLISTS etc on MVS systems and other systems.  The
language is called the Jol Universal Command Language and currently run
on IBM's MVS, Personal Computers, Fujitsu MSP and FSP Operating systems,
and soon others, for example VSE and Unix.


Jol originally got me interested in C - another portable language.  Jol
enhances/replaces JCL, CLISTS etc on MVS systems.  DOS/VSE and Unix
systems are *well* on the way to being released.  In addition, data
entry PANELS or control panels are easy to write - on any platform Jol
runs on - currently MVS, F4, FSP and MS/DOS systems are supported.


As an example of a Jol Script, you can replace about 40 lines of MVS JCL
with this simple Jol code:


      Payroll: Job Class C 1000 k;
      Exec Validate Input.Trans, Trans.Actions(+1);
      If Validate=0
      then do;
         sort Trans.Actions(+1) to Sorted.Trans.Actions(+1)
              fields=(10,10,ch,a);
         exec update Payroll.Master(0), Sorted.Trans.Actions(+1),
              payroll.master(+1);
         if update=0
         then do;
              catalog Payroll.Master(+1), Sorted.Trans.Actions(+1);
              submit job2;
         end;
     end;
     else stop 'Error in PAYROLL Job';


It has a data base of data set attributes for all NEW files, so they
don't have to be specified in the Jol code (but can be, if desired).

It has a Scheduling and Job Networking system built in.

The above job will run in Batch or TSO *immediately*.  In Background, it
either uses Dynamic Allocation or it will generate JCL to run the job.
And the same code will run on MSDOS.

The PC/MSDOS version runs as a shell to run MSDOS programs, but when
given the right parameter it will produce special code (not JCL) that
can be fed to a mainframe to run work on it (any of those mentioned
above, plus DOS/VSE).  It will produce MVS or DOS/VSE code, and special
code for Fujitsu mainframes.  A Unix shell is well under way, and then
people will be able to use a real Universal Command language.


In fact, there are three versions - one in IBM Assembler (BAL), another
one in DRI's PL/I, the last in TP 5.0 PASCAL. The original MS/DOS
version was written in PL/I because Pascal was but a baby when we
started this project in 1984.  Unfortuanately, Digital Research dropped
PL/I, and left us in a bind.

We then converted it to PASCAL because its about the closest language to
PL/I available on all computers.  Bit strings and decimal arithmetic
aren't supported in Pascal, but just about everything else is there.

And (keeping on topic), hopefully the PASCAL can be *relatively* easily
converted to C.


I hope that little digression will stop you having bad dreams.

Cheers, Clem Clarke



-----------------------------------------------------------------------
Clement Victor Clarke                             Tel (61)-3-882-3503
CCS-Jol Pty Ltd                                   Fax (61)-3-882-9711
PO Box 475, Toorak, AUSTRALIA, 3142
-----------------------------------------------------------------------

--- via Silver Xpress V2.20
 * Origin: Micom CBCS - Australia's Longest Running Bulletin Board
--  
Via Fidonet/ACSNET Gateway, Melbourne, Australia
       UUCP: ...!munnari!csource!Clem.Clarke      FidoNet: 3:632/348
   Internet: Clem.Clarke@csource.oz.au