~ubuntu-branches/debian/squeeze/maxima/squeeze

« back to all changes in this revision

Viewing changes to src/trprop.lisp

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2006-10-18 14:52:42 UTC
  • mto: (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20061018145242-vzyrm5hmxr8kiosf
ImportĀ upstreamĀ versionĀ 5.10.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
;;;                 GJC 10:11pm  Tuesday, 14 July 1981                   ;;;
10
10
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11
11
 
12
 
(in-package "MAXIMA")
 
12
(in-package :maxima)
13
13
(macsyma-module trprop)
14
14
 
15
15
;; Many macsyma extension commands, e.g. $INFIX, $TELLSIMP,
17
17
;; These META-PROP functions allow selected commands to
18
18
;; also output DEFPROP's when processed in the Macsyma->lisp translation.
19
19
 
20
 
(DEFMVAR META-PROP-P NIL)
21
 
(DEFMVAR META-PROP-L NIL)
 
20
(defmvar meta-prop-p nil)
 
21
(defmvar meta-prop-l nil)
22
22
 
23
 
(DEFUN META-OUTPUT (FORM)
24
 
  (IF *IN-TRANSLATE-FILE* (PUSH FORM META-PROP-L))
 
23
(defun meta-output (form)
 
24
  (if *in-translate-file* (push form meta-prop-l))
25
25
  ;; unfortunately, MATCOM needs to see properties in order
26
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))))
 
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
49