home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / src / trprop.lisp < prev    next >
Encoding:
Text File  |  2003-02-09  |  1.9 KB  |  50 lines

  1. ;;; -*-  Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;;     The data in this file contains enhancments.                    ;;;;;
  4. ;;;                                                                    ;;;;;
  5. ;;;  Copyright (c) 1984,1987 by William Schelter,University of Texas   ;;;;;
  6. ;;;     All rights reserved                                            ;;;;;
  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8. ;;;     (c) Copyright 1981 Massachusetts Institute of Technology         ;;;
  9. ;;;                 GJC 10:11pm  Tuesday, 14 July 1981                   ;;;
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11.  
  12. (in-package "MAXIMA")
  13. (macsyma-module trprop)
  14.  
  15. ;; Many macsyma extension commands, e.g. $INFIX, $TELLSIMP,
  16. ;; $DEFTAYLOR work by doing explicit PUTPROPS.
  17. ;; These META-PROP functions allow selected commands to
  18. ;; also output DEFPROP's when processed in the Macsyma->lisp translation.
  19.  
  20. (DEFMVAR META-PROP-P NIL)
  21. (DEFMVAR META-PROP-L NIL)
  22.  
  23. (DEFUN META-OUTPUT (FORM)
  24.   (IF *IN-TRANSLATE-FILE* (PUSH FORM META-PROP-L))
  25.   ;; unfortunately, MATCOM needs to see properties in order
  26.   ;; to compose tellsimps. so eval it always.
  27.   (EVAL FORM))
  28.  
  29. (DEFMFUN META-ADD2LNC (ITEM SSYMBOL)
  30.   (IF META-PROP-P
  31.       (META-OUTPUT `(ADD2LNC ',ITEM ,SSYMBOL))
  32.       (ADD2LNC ITEM (SYMBOL-VALUE SSYMBOL))))
  33.  
  34. (DEFMFUN META-PUTPROP (SSYMBOL ITEM KEY)
  35.   (IF META-PROP-P
  36.       (PROG1 ITEM (META-OUTPUT `(DEFPROP ,SSYMBOL ,ITEM ,KEY)))
  37.       (PUTPROP SSYMBOL ITEM KEY)))
  38.  
  39. (DEFMFUN META-MPUTPROP (SSYMBOL ITEM KEY)
  40.   (IF META-PROP-P
  41.       (PROG1 ITEM (META-OUTPUT `(MDEFPROP ,SSYMBOL ,ITEM ,KEY)))
  42.       (MPUTPROP SSYMBOL ITEM KEY)))
  43.  
  44. (DEFMFUN META-FSET (SSYMBOL DEFINITION)
  45.   (IF META-PROP-P
  46.       (PROG1 DEFINITION (META-OUTPUT
  47.              `(FSET ',SSYMBOL (coerce ',DEFINITION 'function))))
  48.       (FSET SSYMBOL (coerce definition 'function))))
  49.  
  50.