home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / TJDMACS.ZIP / TJDMACS.DOC < prev    next >
Text File  |  1991-07-12  |  10KB  |  270 lines

  1.  
  2.              TJDMacs version 1.0
  3.  
  4.            An OS/2 REXX enhancement package.
  5.  
  6.       Copyright (C) TJD Software 1991. All rights reserved.
  7.  
  8.  
  9. SHAREWARE 
  10. --------- 
  11.  
  12.  TJDMacs is NOT public domain or free software. It is copyrighted
  13. material and may not be sold, used or distributed except as detailed
  14. below.
  15.  
  16.  TJDMacs is distributed as SHAREWARE. Users are permitted to use
  17. TJDMacs for a limited trial period of two weeks.  Use of TJDMacs
  18. after this period requires registration. 
  19.  
  20.  In order to register TJDMacs you must contribute £30.00 (UK), $45.00
  21. (US) or $50.00 (CAD). You may make payment in other currencies
  22. provided that the amount is equivalent to 50 pounds Sterling and that
  23. the cheque is cashable by a British bank.
  24.  
  25.  Please make cheques payable to TJD Software and send your
  26. payment to the following address: 
  27.  
  28.     TJD Software, 
  29.     PO Box 61, 
  30.     Keighley, 
  31.     West Yorkshire, 
  32.     BD20 5DY 
  33.     United Kingdom. 
  34.  
  35.  TJDMacs may only be used on one computer at a time.  TJDMacs may be
  36. copied only for the purposes of backup and of allowing other users to
  37. try TJDMacs.  No fee may be charged for the software. The package may
  38. be distributed ONLY in the form supplied by TJD Software or in the
  39. form of an archive containing ALL of the files from the original
  40. distribution file.
  41.  
  42.  TJD Software does not guarantee that TJDMacs will work without
  43. problems. TJD Software will not be liable for ANY damage that may
  44. arise from the use of TJDMacs. You are using TJDMacs completely at
  45. your OWN risk. We, however, are using TJDMacs on our machines all of
  46. the time and find it to be reliable. Please report any problems that
  47. you find with TJDMacs to us and we will try to solve them.
  48.  
  49.  Operators (SYSOPs) of Bulletin Board Systems may post copies of
  50. TJDMacs on their Bulletin-Board systems for downloading by their
  51. users. They may NOT charge a fee for TJDMacs. 
  52.  
  53.  Volume discounts and site licenses are available, please write to us
  54. to receive more information on this subject. 
  55.  
  56. ----------------------------------------------------------------------
  57.  
  58. What it is.
  59.  
  60.  TJDMacs is an enhancement package for users of the OS/2 REXX
  61. language. It provides THREE significant enhancements:
  62.  
  63.     1.    Significant performance improvements.
  64.  
  65.     2.    Distribution of programs in a form that disallows
  66.         changes to be made by end-users.
  67.  
  68.     3.    Centralised control of your REXX programs.
  69.  
  70.  TJDMacs allows you to build libraries of external REXX functions
  71. that are very quickly accessed by the REXX interpreter. In some cases
  72. you may see a five-fold improvement in performance when compared to
  73. external functions held on disk. This is an extreme example of course
  74. but you can reasonably expect a doubling of performance if you use
  75. many small external functions.
  76.  
  77.  TJDMacs also allows you to distribute external functions in
  78. tokenised form which means that the 'normal' end-user will NOT be
  79. able to modify the source because it's not available! This is ideal
  80. in situations where REXX is a suitable language but, otherwise
  81. unavailable, central control is required. By storing your function
  82. packages on a LAN server they will be available to your users in a
  83. controllable form which can be modified at will.
  84.  
  85.  In addition to the three main enhancements discussed above you will
  86. also find it easier to split REXX development between suitably
  87. qualified teams if you use TJDMacs due to the fact that each team can
  88. work on seperate macro libraries.
  89.  
  90.  If you store your REXX external functions on a LAN server TJDMacs
  91. can significantly reduce the amount of network traffic on busy
  92. systems.
  93.  
  94.  
  95. What it requires.
  96.  
  97.  TJDMacs requires the OS/2 version of the REXX language. At the time
  98. of writing, REXX is supported by OS/2 version 1.2 Extended Edition
  99. and all versions of OS/2 1.3. TJDMacs has not been tested under OS/2
  100. 1.2 however.
  101.  
  102.  
  103. Package contents.
  104.  
  105.  The distribution archive should contain the following files:
  106.  
  107.     TJDMACS.DOC    This file.
  108.     MACADD.EXE    Program to add functions to the macro space.
  109.     MACDEL.EXE    Program to erase the macro space.
  110.     MACLOAD.EXE    Program to load the macro space from disk.
  111.     MACSAVE.EXE    Program to save the macro space to disk.
  112.     TJDMDEMO.CMD    Demonstration of TJDMacs written in REXX. Run
  113.             this program to get an idea of the
  114.             performance benefits that the package
  115.             provides.
  116.     *.CMD        Various REXX functions used by the demonstration.
  117.  
  118.  
  119. The REXX Macro Space.
  120.  
  121.  The macro space is an in-memory library of REXX external functions.
  122. These functions can, of course, be accessed much more quickly than
  123. functions held on your hard disk. This is especially true if your
  124. disk is slow and/or the PATH search is a long one. Functions in the
  125. macro space are held in a tokenised form that is unsuitable for
  126. editing. This tokenised form is the same as the command file EXTENDED
  127. ATTRIBUTE (OS/2 1.3) and the information stored after the end-of-file
  128. mark (Hexadecimal 1A) of REXX programs under OS/2 1.2. After the
  129. system is booted the macro space is empty and can only be added to by
  130. explictly requesting REXX to load functions into it.
  131.  
  132.  
  133. Building a macro space.
  134.  
  135.  Using the various utilities in the TJDMacs package you can create,
  136. save, erase and load the REXX macro space. Careful choice of
  137. packaging allows you to create libraries that are of most benefit to
  138. yourself, particular users or the general user community. For
  139. example, your accounts department are likely to require a different
  140. function library than your help desk. TJDMacs allows you to load
  141. several different libraries into the macro space to achieve the best
  142. balance of performance and memory usage.
  143.  
  144.  
  145. The utilities.
  146.  
  147. MACADD.EXE    This program loads individual functions from disk
  148.         into the REXX macro space. Usage is:
  149.  
  150.     MACADD    Source[.CMD] Function_name Order
  151.  
  152.         Source is the name of the file that contains the
  153.         function that you wish to load into the macro space.
  154.         The default extension is '.CMD'. If the ADD fails,
  155.         MACADD will supply the default extension for you and
  156.         retry the operation.
  157.  
  158.         Function_name is the name that you wish to use when
  159.         calling the function from the macro space. This name
  160.         need not be the same as the base name of the source
  161.         file. The name MUST be a valid name for an external
  162.         function.
  163.  
  164.         Order specifies where in the SEARCH order you wish to
  165.         place the function. You may specify BEFORE or AFTER.
  166.         Only the first character ('B' or 'A') is significant.
  167.  
  168.         Specifying BEFORE causes REXX to locate the function
  169.         after checking for a local label or a built-in
  170.         function but before looking for the function on disk.
  171.         Using BEFORE can result in significant performance
  172.         gains for often-used functions.
  173.  
  174.         Specifying AFTER causes REXX to locate the macro
  175.         space function after all other attempts to
  176.         locate it have failed (label, built-in function, disk
  177.         file). AFTER will not result in any performance gains
  178.         but it will allow functions held on disk to override
  179.         functions held in the macro space. In other words, it
  180.         allows you to provide 'default' functions that
  181.         execute only if a function cannot be found elsewhere.
  182.  
  183.     EXAMPLE:
  184.  
  185.         MACADD Fn.CMD FN B
  186.  
  187.         This loads FN.CMD into the macro space as function FN
  188.         and places it early in the search order.
  189.  
  190.  
  191. MACDEL.EXE    This program erases the ENTIRE macro space. You
  192.         should excercise EXTREME CAUTION when using this
  193.         utility as REXX does NOT check to see if any of the
  194.         functions in the macro space are in use. MACDEL takes
  195.         no arguments. Usage is:
  196.  
  197.     MACDEL
  198.  
  199.  
  200. MACSAVE.EXE    This program saves the entire REXX macro space to a
  201.         named file. Usage is:
  202.  
  203.     MACSAVE <Filename>
  204.  
  205.         <Filename> is the optional name of the file to which
  206.         you want the macro space written. If you don't
  207.         provide a file name MACSAVE will use the name
  208.         "TJDMAC.RMC".
  209.  
  210.     EXAMPLE:
  211.  
  212.         MACSAVE ACCOUNTS.MAC
  213.  
  214.         This saves the REXX macro space to a file called
  215.         ACCOUNTS.MAC in the current directory.
  216.  
  217.  
  218. MACLOAD.EXE    This program loads the REXX macro space from a file
  219.         that was created using MACSAVE.EXE. Note that if a
  220.         function exists in the macro space which has the same
  221.         name as a function in the load file, the entire load
  222.         will fail. Usage is:
  223.  
  224.  
  225.     MACLOAD <Filename>
  226.  
  227.         <Filename> is the optional name of the which
  228.         will be loaded into the REXX macro space. If you don't
  229.         provide a file name MACLOAD will use the name
  230.         "TJDMAC.RMC".
  231.  
  232.     EXAMPLE:
  233.  
  234.         MACLOAD ACCOUNTS.MAC
  235.  
  236.         This loads the REXX macro space from a file called
  237.         ACCOUNTS.MAC in the current directory.
  238.  
  239.  
  240. Support.
  241.  
  242.  All of TJD Software's products are supported to the best of our
  243. ability. We have sought (and gained) permission from Chuck Gilmore of
  244. Gilmore Systems of Southern California to allow us to mention his BBS
  245. as a source of support.
  246.  
  247.  TJD Software run TWO Magnum boards (one in the UK and one in
  248. Holland) that may also be contacted for support. If you use the TJD
  249. boards for support, please address your comments to the SYSOP. On the
  250. Gilmore Systems' BBS, please contact PHIL D TUCK (user /295).
  251.  
  252.  The BBS numbers are:
  253.  
  254.  TJD Support (UK):     +44 535 665345  (HST DS)  (24 hours) 2 Lines.
  255.  TJD Support (NL):     +31 1720 38558  (HST DS)  (24 Hours) 1 Line.
  256.  
  257.  Gilmore Systems' (USA): +1 818 706 9805 (HST DS)  (24 hours) 3 Lines.
  258.  
  259.  
  260. And Finally ......
  261.  
  262.  The success of this product (and of all other ShareWare products)
  263. lies in your hands. If you use the product you should contribute
  264. towards the development costs. Please remember that the aim of
  265. shareware is to provide software of commercial grade whilst keeping
  266. the price well below that of commercial software.
  267.  
  268. TJD Software.
  269.  
  270.