home *** CD-ROM | disk | FTP | other *** search
-
- May 1985
-
- Description of iLISP
- ====================
-
- iLISP is an implementation of LISP for the Z-80 CPU running under the
- CP/M 2.2 operating system. It is based on the LISP dialect called
- SCHEME and offers advanced LISP features including both runtime LISP
- macros and input time READ macros. It is fully integrated into the
- CP/M environment providing both sequential and random i/o to disk
- files and access to the CP/M file directory. iLISP supports both
- floating point and integer arithmetic, as well as the usual atoms,
- lists and property lists.
-
- Because iLISP is based on SCHEME, it provides lexical scoping of
- variables (i.e. all functions are closures). This is the most exciting
- feature of Common LISP; one that many LISP implementations still don't
- support. It allows complete support for iLISP functions as data types
- (FUNARGS are OK) and the use of "tail recursion" with no stack size or
- runtime penalty. iLISP has no need for ANY primitive iterative
- programming features (such as PROG and GO, or REPEAT).
-
- iLISP supports both integer and floating point arithmetic (including
- the trigonometic functions SINE, COSINE and ARCTAN, as well as a
- reliable random number generating function).
-
- All CP/M disk file operations are accessible from within iLISP. Both
- sequential and byte addressable random i/o are supported. Files can be
- created, erased, renamed and extended. The CP/M directory is
- accessible as a list of file names. (The use of wildcard characters in
- file names is supported).
-
- iLISP supports LISP macros which permit the definition of new
- syntactic forms (such as COND or SETQ) in addition to the usual
- definition of functions.
-
- The input functions are table driven and table manipulating functions
- are provided. Also, LISP Read macros are provided, allowing complete
- control of the input process.
-
- iLISP is extremely flexible:
- - all function names can be changed with no overhead
- - you can define your own top level executive functions. You're not
- restricted to EVAL or EVALQUOTE.
- - an auto start capability is provided
- - Assembly language routines can be interfaced to the interpreter for
- specialized applications such as robotics or specialized peripheral
- control.
- - complete control of error handling is available. All or any
- individual errors may be enabled or disabled and the actions to be
- taken for each may be specified.
-
- iLISP comes with a LISP list editor for editing function definitions
- and data structures.
-
- It supports a trace facility and an interactive debugging package.
-
- It also has a function library system which allows you to maintain
- libraries of documented iLISP functions with random access to each
- function in a library.
-
- It includes an extensible "pretty printing" package for printing
- single functions or entire files of functions, with documentation.
-
- All iLISP utilities are provided in well documented iLISP source code
- stored on separate library files. They are easily modified and
- extended by LISP programmers.
-
- iLISP comes with a complete implementation of ELIZA, the parody of
- Rogerian psychotherapy, which is one of the earliest artificial
- intelligence programs. Like the utilities, it comes with documented
- source code and also has a ten page discussion of how it works and how
- the code and the script can be easily extended.
-
- How do I get iLISP?
- ===================
-
- iLISP is shareware. If you are reading this file, you already have it,
- or can have it, to try out. It is available from Remote CP/M systems
- around the country.
-
- iLISP used to be a distributed via mail order. The above text was
- copied from from distributed brochures and advertisments run during
- the last two years. It is all true. I've sold hundreds of copies of
- iLISP. But it has become too inconvenient to distribute iLISP in
- the traditional way. There are too many disk formats for a sole
- proprietor (with an 8" CP/M system) to maintain. So I've decided
- to distribute iLISP via shareware channels.
-
- If you like it,
- if you use it,
- please register your copy and pay for it.
-
- Actually there is one catch.
- Distributed in this fashion, iLISP is lacking one of its best features:
- its fantastic documentation. While I have included in this disk copy
- over fifty pages of some of the most important parts of the iLISP
- documentation (including an alphabetized summary of all the iLISP
- functions) that is only a fraction of the documentation that has
- gotten rave reviews from iLISP purchasers.
-
- The complete manual is over 220 pages and contains a reference manual
- which includes both a subject indexed guide to the primitive
- functions as well as an alphabetically organized dictionary of basic
- functions. It also includes an introductory guide intended to get
- beginning LISP programmers started fast. Special appendicies cover the
- design, implementation and extension of the pretty print utility and
- the ELIZA program. So the catch is:
-
- ALL REGISTERED USERS OF ILISP RECEIVE A PRINTED COPY OF THE MANUAL.
- ===================================================================
-
- The cost of registration is $35. Please send a check or money order to
-
- Computing Insights
- P.O. Box 4033
- Madison, WI 53711
-
- If after trying iLISP you decide you like it, register your copy and
- get the complete documentation. If you don't use it, please give your
- copy away to someone who might be interested in it.
-
- I hope you enjoy using and learning from iLISP.
-
-
- Richard Fritzson
- Proprietor
- Computing Insights
-
- P.S.
- ====
-
- iLISP and all of the enclosed files are copyrighted by Computing
- Insights. In addition to being free to use it, you are free and
- encouraged to copy it, and to give it away to individuals, to
- upload it to your favorite electronic BBS so that others may try
- it, PROVIDED THAT
-
- you distribute the COMPLETE UNMODIFIED PACKAGE including
- all of the iLISP files listed below.
-
- Of course, you may not sell iLISP, in whole or in part, or give
- it away in conjunction with the sale of other products. If you
- are uncertain about the correctness of a particular method of
- distribution, either write to Computing Insights or use this
- rough and ready rule:
-
- If you or your organization are profitting from the
- distribution of my work, without my written permission,
- you are violating this restriction.
-
- The complete iLISP package consists of the following files:
-
- README.1ST This document
- README.2ND Some startup instructions
- LISP.COM the iLISP interpreter
- INIT.LSP the iLISP initialization file
- SETUP.LSP Reconfiguration instructions
- EDIT.LSP iLISP source for the editor
- UTILITY.LSP iLISP source for some utilities
- ERR.LSP iLISP source for error handling
- FILE.LSP iLISP source for function library
- PP.LSP iLISP source for the pretty printer
- MACRO.LSP iLISP source for some LISP macros
- AUX.LSP iLISP source for extra functions
- MAP.LSP iLISP source for some map functions
- ELIZA.LSP the source code for ELIZA
- DOCTOR.LSP ELIZA's DOCTOR script
- DOCTOR.TXT the DOCTOR initialization file
- STAT.LSP an elementary statistics lesson
- OR.ASM a sample assembly language subroutine
- LISP.DOC selections from the iLISP manual
- LISP0.COM a reduced interpreter for building custom
- versions of LISP.COM
-
- While the iLISP package contains extensive LISP source code, it does
- not contain the Z-80 assembler source code for the interpreter. I
- admit that this is basically just habit and tradition. I can't think
- of a really good reason not to release it. If there is sufficient
- interest in the source code (as measured by the number of users asking
- for it when they register) I may decide to distribute it through the
- same channels as this package.
-
-
- Please send comments to me at:
-
- Richard Fritzson
- Computing Insights
- P.O. Box 4033
- Madison, WI 53711
-
- or electronically, via FIDO net to
-
- Richard Fritzson
- Net/Node = 121/90
-
- or leave a note directly on the Midnet FIDO 121/90 by calling
-
- (608) 233-8449
-