home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / f / ilisp-2.lbr / AUX.LZP / AUX.LSP
Encoding:
Text File  |  1993-10-26  |  3.3 KB  |  37 lines

  1. (QUOTE iLISP-Library-File)
  2. 3124
  3.       (QUOTE %(C%)% Copyright% by% Computing% Insights,% 1982)
  4.                             
  5. ;(QUOTE (((SUBST X Y Z) - substitute X for Y in Z) (DESCRIPTION: Generates a copy of Z with every occurence of Y) (replaced by a copy of X. This is a nondestructive version of) (DSUBST.)))
  6. (DEFINE SUBST (X Y Z) (DSUBST X Y (COPY Z)))
  7. (QUOTE ())
  8. ;(QUOTE (((REVERSE L) - reverse a list) (DESCRIPTION: Returns a copy of its argument list with) (the elements in the reverse order.)))
  9. (DEFINE REVERSE (L) (DREVERSE (APPEND L ())))
  10. (QUOTE ())
  11. ;(QUOTE (((DSUBST X Y Z) - substitute X for Y in Z) (DESCRIPTION: Actually modifies the argument Z, replacing each) (occurence of Y with a copy of X.)))
  12. (DEFINE DSUBST (X Y Z) (COND ((EQUAL Y Z) (COPY X)) ((NULL (LISTP Z)) Z) (T (RPLACA Z (DSUBST X Y (CAR Z))) (DSUBST X Y (CDR Z)) Z)))
  13. (QUOTE ())
  14. ;(QUOTE (((CLOSEALL) - close all open files) (DESCRIPTION: Does exactly that.)))
  15. (DEFINE CLOSEALL () (MAPTCONC CLOSE (OPENP)))
  16. (QUOTE ())
  17. ;(QUOTE (((PROPERTY FORM) - generate a property macro) (DESCRIPTION: Used to generate property accessing/setting) (macros. See the manual for details.)))
  18. (DEFINE PROPERTY (FORM) (IF (CDDR FORM) (LIST PUTPROP (CADR FORM) (LIST (QUOTE QUOTE) (CAR FORM)) (CADDR FORM)) (LIST GETPROP (CADR FORM) (LIST (QUOTE QUOTE) (CAR FORM)))))
  19. (QUOTE ())
  20. ;(QUOTE (((DEFEXP litat) - return a defining expression) (DESCRIPTION: If litat is a MACRO, FUNCTION or VARIABLE,) (DEFEXP returns an expression which, when evaluated, will set) (it back to its current value. E.g. (DEFEXP (QUOTE PP)) returns) ((DEFINE PP (X) (PROGN (PPRIN2 X) (TERPRI)))) (because that is the definition of PP.)))
  21. (DEFINE DEFEXP (FN) (IF (VALUEP FN) (LET ((FNEXP (DESCRIBE (EVAL FN)))) (CONS (IF (MACROP FN) (QUOTE MACRO) (QUOTE DEFINE)) (IF (AND (PROCP (EVAL FN)) (LISTP FNEXP)) (LIST FN (CADR FNEXP) (CADDR FNEXP)) (LIST FN (LIST (QUOTE QUOTE) FNEXP)))))))
  22. (QUOTE ())
  23. ;(QUOTE (((PRINT@ X Y Z) - print at a particular location) (DESCRIPTION: If (OUTPUT) is CON: PRINT@ does a) ((CURSOR X Y) operation before printing Z.) (If (OUTPUT) is a file, PRINT@ will do a (SFP X) before) (printing Y (Z is assumed not present) .)))
  24. (DEFINE PRINT@ FORM (PROGN (IF (CDR FORM) (IO@ FORM (OUTPUT))) (PRINT (CAR (LAST FORM)))))
  25. (QUOTE ())
  26. ;(QUOTE (((READ@ X Y) - read from location) (DESCRIPTION: If (INPUT) is CON:, READ@ does a (CURSOR X Y)) (before reading. If (INPUT) is a file, READ@ does (SFP X)) (before reading.)))
  27. (DEFINE READ@ FORM (PROGN (IF FORM (IO@ FORM (INPUT))) (READ)))
  28. (QUOTE ())
  29. ;(QUOTE (((IO@ Form File) - perform setup operation for READ@/PRINT@) (DESCRIPTION: Chooses and performs the CURSOR or SFP operation) (for READ@ and PRINT@. Can be used to implement other @ functions.)))
  30. (DEFINE IO@ (FORM FILE) (IF (EQ (QUOTE CON:) FILE) (CURSOR (CAR FORM) (CADR FORM)) (SFP FILE (CAR FORM))))
  31. (QUOTE ())
  32. ;(QUOTE (((READLINE) - read 1 line of atoms) (VALUE: A list of atoms) (DESCRIPTION: Reads the rest of the current line buffer and) (% %  returns it as a list.)))
  33. (DEFINE READLINE () (IF (READP) (CONS (READ) (READLINE))))
  34. (QUOTE ())
  35. (QUOTE (READLINE (3052 2890) IO@ (2769 2565) READ@ (2487 2303) PRINT@ (2198 1945) DEFEXP (1686 1355) PROPERTY (1168 1014) CLOSEALL (954 873) DSUBST (725 572) REVERSE (512 377) SUBST (318 129)))
  36. 
  37.