home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / w3_prog / lbas09p2.arj / LIBERTY.TXT < prev    next >
Encoding:
Text File  |  1992-05-01  |  12.9 KB  |  327 lines

  1. Liberty BASIC - limited version Release 0.9
  2. Copyright 1992 Shoptalk Systems
  3.  
  4.  
  5. Liberty BASIC is a personal BASIC programming system for MS Windows 3.0
  6. requiring a 286 (4 Meg RAM recommended for Standard Mode operation), 
  7. or a 386, 486 or better (586?) and 3 Megabytes of RAM or more.  Liberty
  8. BASIC is written using Digitalk's Smalltalk/V Windows programming
  9. environment, so it inherits a vast library of functionality that is as yet
  10. unused.  This means that Liberty BASIC will grow much more powerful
  11. functionally in future releases while growing only slightly in size.
  12.  
  13. Liberty BASIC is a runtime environment, meaning that it does not create
  14. standalone executables.  Your code is parsed at runtime into precompiled
  15. Smalltalk contexts, which are then run.  This means you must wait for the
  16. compile, but it speeds up execution.
  17.  
  18. Distribution Policy:
  19.  
  20. Liberty BASIC is Shareware, and it may be copied and freely distributed
  21. providing the following list of files is distributed together and unmodified.
  22. Shoptalk Systems forbids the redistribution of Liberty BASIC for profit.
  23. A small fee may be levied for distribution costs, but not for the software
  24. itself.
  25.  
  26. Liberty BASIC Release 0.9 is a subset of the commercial product.  Our hope is 
  27. that you will like this limited release enough to register.  If you find it 
  28. useful we ask you to please register your copy.  $30 will get you the most 
  29. recent version but without a printed manual (manual will be on a disk file). 
  30. $49.95 you will get you the most recent version with a printed manual, 
  31. technical support, and upgrades will be made available for a small fee.
  32.  
  33. Releases 0.1 and 0.2 were very limited, but this 0.9 release can better
  34. give you a taste of the commercial version, which is continually being
  35. extended.  Registered users will enjoy the benefits of a very powerful
  36. Windows programming tool.
  37.  
  38.  
  39. This is a list of files distributed with this release of Liberty BASIC: 
  40.  
  41.  liberty.exe
  42.  liberty.txt  -  This file
  43.  summary.txt  -  Summary of commands & functions, hints, etc
  44.  register.txt  -  Order form
  45.  vwabort.dll
  46.  vwbas11.dll
  47.  vwdlgs.dll
  48.  vwfloat.dll
  49.  vwfont.dll
  50.  vwsignon.dll
  51.  vwvm.dll
  52.  ascii.bas
  53.  blank.bas
  54.  brnchtst.bas
  55.  buttons.bas
  56.  clock.bas
  57.  customer.bas
  58.  exponent.bas
  59.  factoril.bas
  60.  for_next.bas
  61.  getchar.bas
  62.  grapher.bas
  63.  graphics.bas
  64.  invoice.bas
  65.  mandala.bas
  66.  open.bas
  67.  power.bas
  68.  profile.bas
  69.  read.bas
  70.  sieve.bas
  71.  strtest.bas
  72.  test.bas
  73.  turtle.bas
  74.  turtle2.bas
  75.  exp.bas
  76.  install.bat
  77.  
  78.  
  79.  
  80. In this release 0.9 there are a slew of improvements:
  81. ------------------------------------------------------------------------
  82.  
  83.  Some bugs in the parser have been fixed ;
  84.  
  85.  Multiple windows are supported, buttons can be added where desired.
  86.  A button can cause execution to be transferred to a unique branch
  87.  label (event driven style) or it can return a string like an INPUT 
  88.  statement (procedural style).  Any window can be opened as:
  89.  
  90.    a graphics window with line and turtle color graphics ;
  91.    a text window (for output or input) with font control ;
  92.    a spreadsheet (controllable via BASIC statements) ;
  93.  
  94.  Confirmation and prompter style dialog boxes are supported ;
  95.  
  96.  The debugger has been improved with a variable watch window ;
  97.  
  98.  BASIC code can now be compiled and run from the start-up browser
  99.  without first opening a BASIC source editor window ;
  100.  
  101.  Many more statements and functions are included (see summary.txt) ;
  102.  
  103.  More sample programs are included ;
  104.  
  105.  
  106.  
  107.  Release 0.2 Notes:
  108.  --------------------------------------------------------------------------
  109.  
  110.  IF/THEN/ELSE now supported.  For example, the following is valid:
  111.    if mid$(a$,index,1) = "." then print "." else print mid$(a$,index,1);
  112.  
  113.  The compiler is not case sensitive any longer.  Reserved words may be                                                                   
  114.  in either upper or lower case.  It is case sensitive in the sense that
  115.  variable names that are the same but with different capitalization are
  116.  considered unique.  NOTE: VARIABLE NAMES MAY NOT START WITH STATEMENT 
  117.  OR FUNCTION NAMES.
  118.  
  119.  The simple continuous trace debugger in version 0.1 has been replaced
  120.  by a 3 stage pushbutton debugger permitting single step, continuous
  121.  trace, and no trace (run full speed).  You can move from one mode to
  122.  the other at will.  A variable watch window is not available yet.
  123.  
  124.  In version 0.1 you needed to recompile every time you wanted to run
  125.  a program.  Now all that is needed is to bring up the pane menu
  126.  for the window the program is running in and select the Restart option.
  127.  This can be done at any time (not just at the end of a program run) and
  128.  will work in Run or Debug mode.
  129.  
  130.  The ^ arithmetic operator is now supported.  The remaining operators
  131.  are: + - * / AND OR
  132.  
  133.    NOTE: AND & OR ARE ONLY USEFUL IN IF/THEN/ELSE STATEMENTS FOR
  134.    THE PURPOSE OF DETERMINING LOGICAL CONDITIONS.  FOR EXAMPLE:
  135.  
  136.         if a > b and matchFlag = 1 then gosub [match]      is acceptable
  137.         let result = -1 and latch                          is not acceptable
  138.  
  139.  Version 0.1 was only able to represent negative numbers with an
  140.  expression (0-n).  Version 0.2 now supports negative numbers in
  141.  expressions.  For example:
  142.      In version 0.1 -   print rate * (term + (0 - 5))
  143.      In version 0.2 -   print rate * (term + -5)
  144.  
  145.  STOP and END commands are now supported.
  146.  
  147.  RND(1) is now supported.  RND(0) is not.
  148.  The random sequence generator is crude, but it works for now.  Subsequent
  149.  releases of Liberty BASIC will have improved 'randomness'.  For now, let's
  150.  just say that RND(1) provides 'arbitrary' number generation.
  151.  
  152.  STR() was changed to STR$(), which is the proper MBASIC name for this
  153.  function.
  154.  
  155.  TRACE 0, 1, or 2 is now supported.  This allows control of the
  156.  debugger trace mode to be controlled inside of the program being
  157.  debugged.
  158.                 TRACE 0            no trace, run at full speed
  159.                 TRACE 1            trace continously
  160.                 TRACE 2            single step
  161.  
  162.  
  163.  
  164. Release 0.1 notes:
  165. ---------------------------------------------------------------------------
  166.  
  167.  Highly MS-BASIC compatible (this does not mean Quick BASIC or Q-BASIC) ;
  168.  
  169.  Procedural programming model ;
  170.  
  171.  Line numbers are optional with descriptive alphanumeric labels permitted ;
  172.  
  173.  The following commands are supported:
  174.   LET, PRINT, INPUT, GOTO, GOSUB/RETURN, FOR/NEXT, IF/THEN,
  175.   OPEN/CLOSE, PRINT#, INPUT#, DIM, REM (or ')
  176.  
  177.  The following functions are supported:
  178.   LEN(), MID$(), EOF(), INT(), INPUT$(), VAL(), STR()
  179.  
  180.  Strings and integers of virtually unlimited size are supported (certainly
  181.  larger than  most need), and if you have a math coprocessor, Liberty BASIC
  182.  will automatically take advantage of it where advantageous.
  183.  
  184.  File operations for this release of Liberty BASIC are limited to sequential
  185.  access only.
  186.  
  187.  Both single and double dimension, string and numeric arrays are permitted.
  188.  
  189.  Variable name size is not limited, and all characters are significant.
  190.  
  191.  One limitation of this release is that IF/THEN statements can only be used
  192.  for branching.  For example, IF count < 10 THEN 500  is valid, but
  193.  IF count < 10 THEN PRINT "Count is less than 10"  is not permitted.  
  194.  Unfortunately, IF count < 10 THEN GOSUB 500  is not permitted either.  This
  195.  limitation will not exist in the registered version.
  196.  
  197.  Additionally, the compiler is very case sensitive (again, this will be
  198.  remedied in the registered release).  All basic commands, function names, 
  199.  and other reserved words need to be typed as uppercase, but variable names 
  200.  can be any length, and any combination of upper and lowercase letters.  
  201.  Digits and the period character are permitted, so long as they are not 
  202.  used as the first character.
  203.  
  204.  This release compiles at runtime.  The registered version will feature
  205.  incremental compilation.
  206.  
  207.  
  208.  
  209.  
  210. INSTALLATION:
  211.  
  212.  If you have ANY trouble getting this to run on your machine, PLEASE
  213.  call us and we WILL do our best to help you.
  214.  
  215.  A simple batch file install.bat is included to make installation
  216.  as simple as possible:
  217.  
  218.  Assuming that the software is to be installed on drive C:, type
  219.  the following:
  220.  
  221.    install c  (hit return)
  222.  
  223.  a subdirectory named c:\liberty will be created and the files will
  224.  be copied over.
  225.  
  226.  Then you will need to start windows and create a new program group
  227.  and item for Liberty BASIC as follows:
  228.  
  229. Once the installation is completed, you will need to make Windows aware
  230. of Liberty BASIC.  To add Liberty BASIC as a Windows program group:
  231.  
  232.   Load Windows 3.0 ;
  233.   Pull down the File menu and select New ;
  234.   Select Program Group and click on the OK button ;
  235.   Type  Liberty BASIC  as the description and click on the OK button ;
  236.   Again pull down the File menu and select New ;
  237.   Click on the OK button to accept the default Program Item response ;
  238.   Type  Liberty BASIC  as the description and click on the Browse button ;
  239.   Double-click on [..] in the Directories list box ;
  240.   Double-click on [liberty] in the Directories list box ;
  241.   Double-click on liberty.exe in the Files list box ;
  242.   Now click on the OK button the the Program Item Properties dialog box 
  243.  
  244.   You may now resize the Liberty BASIC group window to your liking.  To
  245.   start Liberty BASIC, double-click on the torch icon.
  246.  
  247.   Liberty BASIC starts with a file browser window.  It is arranged as
  248.   four panes, three across the top, and one on the bottom like so:
  249.  
  250.   +--------------------------------------------------------------+
  251.   | -                  Liberty BASIC  c:\liberty             v ^ |
  252.   +--------------------------------------------------------------+
  253.   | a             [1]  | [..]          [2]  | demo.bas      [3]  |
  254.   | b                  | liberty            | read.bas           |
  255.   | c                  | msdos              | test.bas           |
  256.   |                    |                    |                    |
  257.   | select drive here  | select directory   | select file here   |
  258.   |                    | here               |                    |
  259.   +--------------------------------------------------------------+
  260.   |                                                         [4]  |
  261.   |                                                              |
  262.   |                                                              |
  263.   |                                                              |
  264.   |         see BASIC source for file selected here              |
  265.   |                                                              |
  266.   |                                                              |
  267.   |                                                              |
  268.   |                                                              |
  269.   +--------------------------------------------------------------+
  270.  
  271.  Select the drive to browse in pane [1], then select the directory
  272.  (usually liberty) to browse in pane [2], then finally the file to 
  273.  browse in pane [3].  When the .BAS file is selected, its source will 
  274.  be displayed in pane [4].  To run the program, position the cursor
  275.  inside of pane [3] and press the right hand mouse button and a menu
  276.  will appear.  Then select the item BASIC source editor, and a new
  277.  window will open which will contain a copy of the source for the
  278.  selected file.  Then position the cursor inside of that pane and again 
  279.  press the right hand mouse button for another menu.  There are two 
  280.  options available, Run and Debug.  Run compiles and runs the program, 
  281.  and Debug provides the additional benefit of a 3 level source level
  282.  debugger with optional watch window (v 0.9 let's you do this in
  283.  pane 4 without opening a seperate BASIC source editor).
  284.  
  285.  
  286.  HINT for 286 users with only 3 megabytes of RAM:
  287.  ---------------------------------------------------
  288.  3 megabytes RAM is very tight for Liberty BASIC when
  289.  running in Standard Mode.  If low memory errors make
  290.  Liberty BASIC unusable, try to free up as much extended
  291.  memory as possible.  If all else fails, try this:
  292.  
  293.    Run Windows ;
  294.    Run Liberty BASIC ;
  295.    Exit Liberty BASIC ;
  296.    Run Liberty BASIC again
  297.  
  298.  As strange a ritual as this may seem, it does something
  299.  to the way Liberty BASIC manages its memory, making
  300.  those low memory errors much less trouble.  We cannot
  301.  guarantee that this trick will work on your system.
  302.  
  303.  
  304.  Here's what to expect in the registered versions of Liberty BASIC.
  305.  Not all of these features will be included in release 1.0:
  306.  
  307.  Incremental compilation ;
  308.  Enhanced random access file capability (0.9 is limited to sequential);
  309.  More and more powerful statements and functions ;
  310.  More powerful graphics capabilities ;
  311.  Application definable pull-down menus ;
  312.  Full cut and paste via Windows Clipboard ;
  313.  Standalone application generation ;
  314.  More window and widget types...
  315.  
  316.  
  317.  PLEASE call or write if you have any suggestions for features
  318.  you would like to see in Liberty BASIC!
  319.  
  320.  To find out more write or call:
  321.  
  322.    Shoptalk Systems
  323.    P.O. Box 837
  324.    Marblehead, MA  01945-0837
  325.  
  326.    508-872-5315
  327.