eX Lite (eXLite.exe) is a sub-set of eX, a virtual computer interpreter / 
programming language intended for productivity and ease of programming.  
Both have program and inter-active execution modes and a de-bugger may be 
used with either mode, and the latter mode can be used as an `operating 
environment'.  (It will become apparent that some further development is 
needed for their inter-active modes to become the preferred choice for 
inter-active operating system tasks).

eX is easy to learn, has `almost no rules', and is well-suited for tasks 
that might otherwise be done with BASIC or the operating system.  
Extraordinarily powerful, eX is particularly adept for math, string, and 
sequential file processing.  At this time, eX Lite / eX is available only 
for MS-DOS.

The documentation provided for eX Lite is the same as that for eX---the 
only difference between the two versions is that eX Lite EXCLUDES 132 
numeric and string functions---and those functions that require eX are 
followed by the notation `(Not available with eX Lite.)', for example:

     exceptA  (Not available with eX Lite.)


An introduction to eX / eX Lite is provided via the eX / eX Lite program 

                              INTRO,

which uses the additional files `INTRO.01--.18'.  The command to run it is:

              <<Dr:>><<\Path\>>eXLite <<Dr:>><<\Path\>>INTRO


eX Lite, its documentation and example programs are FREEWARE and may be 
distributed (if done at no cost to the recipient) in their un-altered form and 
subject to the conditions in the ex / eX Lite license given in the eX Manual 
pertaining to reverse engineering.

eX (the full version, which is NEITHER FREEWARE NOR SHAREWARE and may not 
be distributed) may be obtained on a MS-DOS 1.44Mb 3 & 1/2" floppy 
disk by sending either

                $14.95 (U.S.) via Check,
or 
                 $9.95 (U.S.) via U.S. Postal or Bank Money Order
to:

                William E. Wilgus III
                13400 NE 1st Street Road
                Silver Springs, Florida  34488

(Sorry, I don't have a phone.)

INCLUDE a business size self-addressed and stamped envelope, and your E-MAIL 
address (if any) for future use.  eX will be mailed to you immediately on 
receipt of a Postal or Bank Money Order, Checks will have to clear before eX 
is sent.  Comments and inquiries would be welcomed, but replies will only be 
made if you include a self-addressed and stamped envelope.  NOTE that I MAY 
move within the local area sometime in 1999, so check this file on Simtel.Net 
for my current address.


PROCEEDS from the sale of eX will be used to support eX users and develop 
other programming languages and tools, including a `do all and be all' 
compiled language aimed at programming productivity.  (I'll seek the 
asistance of others for these projects.)  Given sufficient support, I'll get 
a phone & if nothing more, provide an e-mail address.



Latest eX version 0.4b information:

See the sections `bUGH!s Fixed' and Changes---there's been a few.

PACKING.LST contains a list of all the files on the
     distribution disk and their purpose. 

     The files eXman00.txt through eXman26.txt are provided in lieu
     of the printed manual (200+ typeset pages) with my apologies.  
     The general topic of each of these files is given in PACKING.LST
     and at the end of eXman00.txt.

Running eX under Windows:
     eX has not been run under Windows except briefly with 3.11.
     (I ran EX.MAK in a window sucessfully).  While it appears to
     have no problems under Windows, that fact is not known.  I ran
     it using the default .PIF.

INTRO is the eX Lite / eX introduction / demonstration program.
     Invoke eX Lite / eX with the macro argument "INTRO", i.e. 

          <<drive:>><<\path\>>eXLite <<drive:>><<\path\>>INTRO
     or
          <<drive:>><<\path\>>eX <<drive:>><<\path\>>INTRO

MAKEGEN & EX.MAK
     The make program generator as distributed is only set up to
     handle Microsoft's Assembler, QuickBASIC compiler, and linker. 
     You're invited to change it to suit your needs.  See the
     commented version, MAKEGEN.DOC (which is too big for eX to load)
     for guidance.  Running MAKEGEN without a project to generate code
     for might not be totally pointless.  

     EX.MAK is provided as an example of generated code and if run, 
     will crash eX when it fails to find the source code files. 

Changes
    envir has assignment problems. see updated manual section.
    opos doesn't set matchpos unless assignment made;  the is manual 
         incomplete.
    isn now recognizes FORMATTED ASCII numerics as numeric.  Formerly,
         it didn't.
    mod string by string modulo has been fixed / changed.  See manual.

Un-fixed bUGH!s
    eX has yet to be put through the `wringer' of an official test
    procedure, but with the exception of the following bUGH!s, is
    though to be bUGH! free.  (The bUGH! mentioned in the User's
    Manual regarding FileId seems to have disappeared.)
*   although not a bUGH! (but needs to be fixed anyway), the inter-active
    mode tries to `normalize' video colors and if you have changed colors
    you may wind up with a combination that yields an `invisible text'
    combination (e.g., white on white) at the eX command prompt.  Simply
    type in a new color (e.g., blue) to produce readable text.
*   move, ren does not work across sub-directories: creates destination 
    file but leaves it EMPTY; DOES delete sourcefile.
*   byte, word, dword:  Au contraire to the manual, they don't work with
    strings.  (Ran out of code segment space).
*   weekday.  $ suffix option currently inoperative.
*   There's a bUGH! in eX's data file system that I ran across while
    developing an eX program to cross-reference eX's source files.  I
    got a "file not found" error when the program attempted to open
    the 17th file, though most of the previous 16 had been closed.  (ex.mak 
    will disclose multiple modules and more than a few include files.)  I
    haven't had file problems in any other programs, but none have used as
    many files.  Therefore, I don't know if special circumstances caused it.
    I was able to track the problem to the open file statement in the source
    code, but no further.  I suspect it is a compiler problem (it has a few
    other problems I had to deal with) but might, of course, be programmer
    generated.  THIS MAY NO LONGER BE A PROBLEM

bUGH!s Fixed
*   the label scan routine now handles multiplication operators properly.
*   forget (ing) an input file specified by a non-literal in turn followed 
    by a $ not its string suffix no longer `sucks up' the $, i.e. 
               forget :$FileSpec $FileSpec := NextFile
    works correctly.
*   exceptn now correctly handles leading/trailing +/-
*   round now correctly rounds to the left of the decimal (-positions#)
*   LongJump fixed. now correctly handles false conditionals
*   show / print & nf sf, snf, ssf, pnf, psf now fixed & work properly.
*   PopType & SlipType now correctly return 5 for data type double.
*   CIPeriods fixed InterestRate argument to accept %.
*   fDate/fTime/fAttr... assignment now works.
*   push/slide now simultaneously take numeric & string, as per manual.
*   mod string by string modulo has been fixed / changed.  See manual.
*   month now gives month vs day
*   hex, xeh, dec, & nib now work properly
*   xxterm and xxterms class of string functions (aterms, aterm, nterms, 
         nterm...) has been re-written in fixing the ones that `hung up'.
         .exe's a bit smaller for it.
*   asc has been fixed so that the un-parenthesized form actually is
         assignable, and the assigned value can actually be a number
         instead of just a string.  See the changes in the manual.

*   shift, rotate, etc class of functions:
         found & fixed: numerics, any argument data object assignment
         statement is in-effective; the pre-assignment value of the
         data entity is manipulated.  The following now correctly yields 4:
                          shiftL(_x := 2, 1) 
END OF FILE
