home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / f / ilisp-1.lbr / README.1ZT / README.1ST
Encoding:
Text File  |  1993-10-26  |  8.5 KB  |  202 lines

  1.  
  2.                                                        May 1985
  3.  
  4. Description of iLISP
  5. ====================
  6.  
  7. iLISP is an implementation of LISP for the Z-80 CPU running under the 
  8. CP/M 2.2 operating system. It is based on the LISP dialect called 
  9. SCHEME and offers advanced LISP features including both runtime LISP 
  10. macros and input time READ macros. It is fully integrated into the 
  11. CP/M environment providing both sequential and random i/o to disk 
  12. files and access to the CP/M file directory. iLISP supports both 
  13. floating point and integer arithmetic, as well as the usual atoms, 
  14. lists and property lists. 
  15.  
  16. Because iLISP is based on SCHEME, it provides lexical scoping of 
  17. variables (i.e. all functions are closures). This is the most exciting 
  18. feature of Common LISP; one that many LISP implementations still don't 
  19. support. It allows complete support for iLISP functions as data types 
  20. (FUNARGS are OK) and the use of "tail recursion" with no stack size or 
  21. runtime penalty. iLISP has no need for ANY primitive iterative 
  22. programming features (such as PROG and GO, or REPEAT). 
  23.  
  24. iLISP supports both integer and floating point arithmetic (including 
  25. the trigonometic functions SINE, COSINE and ARCTAN, as well as a 
  26. reliable random number generating function).
  27.  
  28. All CP/M disk file operations are accessible from within iLISP. Both 
  29. sequential and byte addressable random i/o are supported. Files can be 
  30. created, erased, renamed and extended. The CP/M directory is 
  31. accessible as a list of file names. (The use of wildcard characters in 
  32. file names is supported). 
  33.  
  34. iLISP supports LISP macros which permit the definition of new 
  35. syntactic forms (such as COND or SETQ) in addition to the usual 
  36. definition of functions.
  37.  
  38. The input functions are table driven and table manipulating functions 
  39. are provided. Also, LISP Read macros are provided, allowing complete 
  40. control of the input process.
  41.  
  42. iLISP is extremely flexible:
  43.  - all function names can be changed with no overhead
  44.  - you can define your own top level executive functions. You're not
  45.    restricted to EVAL or EVALQUOTE.
  46.  - an auto start capability is provided
  47.  - Assembly language routines can be interfaced to the interpreter for 
  48.    specialized applications such as robotics or specialized peripheral 
  49.    control. 
  50.  - complete control of error handling is available. All or any 
  51.    individual errors may be enabled or disabled and the actions to be 
  52.    taken for each may be  specified.
  53.  
  54. iLISP comes with a LISP list editor for editing function definitions 
  55. and data structures. 
  56.  
  57. It supports a trace facility and an interactive debugging package. 
  58.  
  59. It also has a function library system which allows you to maintain 
  60. libraries of documented iLISP functions with random access to each 
  61. function in a library. 
  62.  
  63. It includes an extensible "pretty printing" package for printing 
  64. single functions or entire files of functions, with documentation.
  65.  
  66. All iLISP utilities are provided in well documented iLISP source code 
  67. stored on separate library files. They are easily modified and 
  68. extended by LISP programmers. 
  69.  
  70. iLISP comes with a complete implementation of ELIZA, the parody of 
  71. Rogerian psychotherapy, which is one of the earliest artificial 
  72. intelligence programs. Like the utilities, it comes with documented 
  73. source code and also has a ten page discussion of how it works and how 
  74. the code and the script can be easily extended. 
  75.  
  76. How do I get iLISP?
  77. ===================
  78.  
  79. iLISP is shareware. If you are reading this file, you already have it, 
  80. or can have it, to try out. It is available from Remote CP/M systems 
  81. around the country.
  82.  
  83. iLISP used to be a distributed via mail order. The above text was 
  84. copied from from distributed brochures and advertisments run during 
  85. the last two years. It is all true. I've sold hundreds of copies of 
  86. iLISP. But it has become too inconvenient to distribute iLISP in 
  87. the traditional way. There are too many disk formats for a sole 
  88. proprietor (with an 8" CP/M system) to maintain. So I've decided 
  89. to distribute iLISP via shareware channels.
  90.  
  91. If you like it, 
  92.      if you use it, 
  93.           please register your copy and pay for it.
  94.  
  95. Actually there is one catch. 
  96. Distributed in this fashion, iLISP is lacking one of its best features: 
  97. its fantastic documentation. While I have included in this disk copy 
  98. over fifty pages of some of the most important parts of the iLISP 
  99. documentation (including an alphabetized summary of all the iLISP 
  100. functions) that is only a fraction of the documentation that has 
  101. gotten rave reviews from iLISP purchasers.
  102.  
  103. The complete manual is over 220 pages and contains a reference manual 
  104. which includes both a subject indexed guide to the primitive 
  105. functions as well as an alphabetically organized dictionary of basic 
  106. functions. It also includes an introductory guide intended to get 
  107. beginning LISP programmers started fast. Special appendicies cover the 
  108. design, implementation and extension of the pretty print utility and 
  109. the ELIZA program. So the catch is:
  110.  
  111.  ALL REGISTERED USERS OF ILISP RECEIVE A PRINTED COPY OF THE MANUAL.
  112.  ===================================================================
  113.  
  114. The cost of registration is $35. Please send a check or money order to 
  115.  
  116.      Computing Insights
  117.      P.O. Box 4033
  118.      Madison, WI  53711
  119.  
  120. If after trying iLISP you decide you like it, register your copy and 
  121. get the complete documentation. If you don't use it, please give your 
  122. copy away to someone who might be interested in it. 
  123.  
  124. I hope you enjoy using and learning from iLISP.
  125.  
  126.                                         
  127.                                              Richard Fritzson
  128.                                              Proprietor
  129.                                              Computing Insights
  130.  
  131. P.S.
  132. ====
  133.  
  134. iLISP and all of the enclosed files are copyrighted by Computing 
  135. Insights. In addition to being free to use it, you are free and 
  136. encouraged to copy it, and to give it away to individuals, to 
  137. upload it to your favorite electronic BBS so that others may try 
  138. it, PROVIDED THAT 
  139.  
  140.      you distribute the COMPLETE UNMODIFIED PACKAGE including 
  141.     all of the iLISP files listed below.
  142.  
  143. Of course, you may not sell iLISP, in whole or in part, or give 
  144. it away in conjunction with the sale of other products. If you 
  145. are uncertain about the correctness of a particular method of 
  146. distribution, either write to Computing Insights or use this 
  147. rough and ready rule: 
  148.  
  149.      If you or your organization are profitting from the 
  150.      distribution of my work, without my written permission, 
  151.      you are violating this restriction.
  152.  
  153. The complete iLISP package consists of the following files:
  154.  
  155.      README.1ST     This document
  156.      README.2ND     Some startup instructions
  157.      LISP.COM       the iLISP interpreter
  158.      INIT.LSP       the iLISP initialization file
  159.      SETUP.LSP      Reconfiguration instructions
  160.      EDIT.LSP       iLISP source for the editor
  161.      UTILITY.LSP    iLISP source for some utilities
  162.      ERR.LSP        iLISP source for error handling
  163.      FILE.LSP       iLISP source for function library
  164.      PP.LSP         iLISP source for the pretty printer
  165.      MACRO.LSP      iLISP source for some LISP macros
  166.      AUX.LSP        iLISP source for extra functions
  167.      MAP.LSP        iLISP source for some map functions
  168.      ELIZA.LSP      the source code for ELIZA 
  169.      DOCTOR.LSP     ELIZA's  DOCTOR script
  170.      DOCTOR.TXT     the DOCTOR initialization file
  171.      STAT.LSP       an elementary   statistics lesson
  172.      OR.ASM         a sample assembly language subroutine 
  173.      LISP.DOC       selections from the iLISP manual
  174.      LISP0.COM      a reduced interpreter for building custom
  175.                     versions of LISP.COM
  176.  
  177. While the iLISP package contains extensive LISP source code, it does 
  178. not contain the Z-80 assembler source code for the interpreter. I 
  179. admit that this is basically just habit and tradition. I can't think 
  180. of a really good reason not to release it. If there is sufficient 
  181. interest in the source code (as measured by the number of users asking 
  182. for it when they register) I may decide to distribute it through the 
  183. same channels as this package. 
  184.  
  185.  
  186. Please send comments to me at:
  187.  
  188.     Richard Fritzson
  189.     Computing Insights
  190.     P.O. Box 4033
  191.     Madison, WI 53711
  192.  
  193. or electronically, via FIDO net to
  194.  
  195.     Richard Fritzson
  196.     Net/Node = 121/90
  197.  
  198. or leave a note directly on the Midnet FIDO 121/90 by calling
  199.     
  200.     (608) 233-8449
  201.  
  202.