home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol136 / lisp.wpm < prev    next >
Encoding:
Text File  |  1984-04-29  |  2.6 KB  |  47 lines

  1.               A LISP INTERPRETOR FOR THE 8080 MICRO
  2.                          COMPUTING SYSTEM
  3.  
  4.           AS ASSEMBLED HERE ENTRY IS AT 100H. MOST OF THE CODE
  5. MAY BE ANYWHERE IN MEMORY BUT ALL LISP DATA ELEMENTS (CONS
  6. CELLS AND ATOMS) MUST BE IN THE FIRST 16K OF MEMORY . THE
  7. INTERPRETER IS COMPLETELY SELF CONTAINED EXCEPT FOR TERMINAL
  8. 1\0. ON INPUT FROM THE TERMINAL, ALL CONTROL CHARACTERS ARE
  9. IGNORED ,AND THUS MAY BE FREELY ADDED TO IMPROVE READABILITY.
  10. ALL INPUT IS PARSED AS LITERAL ATOMS AND S.EXPRESSIONS .AN ATOM
  11. IS ANY STRING OF ALPHANUMERIC CHARACTERS NOT OVER 16 CHARACTERS
  12. LONG. SOME EXAMPLES OF LEGALATOMSARE;                          
  13.   ATOM  934  A47  47A                                          
  14.  SOME EXAMPLES OF ILLEGAL ATOMS ARE :                          
  15.                   VERYLONGSTRINGOFLETTERS  (MORD THAN 16       
  16.                                             CHARACTERS)        
  17.                                            (CONTAINS NON ALPHA-
  18.                                             NUMERIC-)          
  19.     THE ONLY OTHER CHARCTERS RECOGNIZED BY THE SYSTEM ARE LEFT
  20. AND RIGTH PARENTHESES, COMMAS ,PERIODS AND BLANKS .CONSECUTIVE
  21. ATOMS IN LISTS AND S-AXPRESSION MUST BE SEPARATED BY AT LEAST
  22. ONE OF THESE SYINBOLS TO BE RECOGNIZED. BLANKS MAY BE
  23. OPTIONALLY INSERTED BEFORE AND AFTER RIGHT PARENS .BOTH INPUT
  24. AND OUTPUT ROUTINES CAN HANDLE MIXED S.EXPRESSIONS (WITH DOT
  25. NOTATION )AND LIST NOTATION .THE OUTPUT RUTINES WILL ALWAYS USE
  26. LIST NOTATION WHENEVER POSSIBLE , BUT WILL USE DOTTED NOTATION
  27. WHEN NECESSARY . E.G.,AN S-EXPRESSION IN - PUT AS
  28. :(INTEL.NIL).8080) WOULD PRINT AS (INTEL).8080).LOGICAL VALUES
  29. RETURNED BY EQ, ATOM ,NULL AND EQUAL ARE T AND F. THESE MUST BE
  30. QUOTED WHEN USED AS CONSTANTS IN A PROGEAM .THESE ARE ALSO THE
  31. LOGICAL VALUES EXPECTED BY COND 8ANTUALLY COND ONLY TESTS FOR T
  32. ). THE INTERPRETER IS AN EVALQUOTE MODE INTERPRETER SO TWO S-
  33. EXPRESSIONS MUST BE ENTERED FOR EVALUATION TO OCCUR .BOTH OF
  34. THESE S-EXPRESSIONS MUST BE FOLLOWED BY A BLANK TO ALLOW FOR
  35. THE LOOKAHEAD USED IN READ .AFTER RECOGNIZING THE SECOND S-
  36. EXPRESSION, WHICH IS A LIST OF ARGUMENTS TO WHICH THE FIRST S-
  37. EXPRESSION (TYPICALLY AN ATOM) WILL BE APPLIED ,BOTH OF THESE
  38. EXPRESSION ARE EFFECTIVELY QUOTED, SO ALL ATOMS IN THE
  39. EXPRESSION STAND FOR THEMSELVES ,NOT ANY DEFINED BINDING .ONCE
  40. THE INTERPRTER RECOGNIZES THE SECOND EXPRESSION, IT DOES A NEW
  41. LINE AND TYPES '>>' FOLLOWED BY THE RESULT OF THE COMPUTATION.
  42. FOR EXAMPLE, IF THE FOLLOWING IS ENTERED AS INPUT:
  43. DEFINE(((TT)(FF)(FF(LAMBDA(X)COND((ATOM X)X)(T(FF(CAR
  44. X))))))))) THE INTERPRTER WILL RESPOND WITH: >>(TF FF)IF YOU
  45. THEN ENTER: FF(((AB).C)) THE INTERPRETER WILL RESPOND WITH: >>A
  46.  
  47.