diff options
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/algebra/catdef.spad.pamphlet | 1 | ||||
| -rw-r--r-- | src/interp/comp.lisp | 70 | ||||
| -rw-r--r-- | src/interp/compiler.boot | 43 | 
4 files changed, 49 insertions, 71 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 28f6797a..ab58b8be 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@  2008-06-02  Gabriel Dos Reis  <gdr@cs.tamu.edu> +	* interp/comp.lisp (|compAndDefine|): Move to interp/compiler.boot +	(COMP): Likewise. +	(|compQuietly|): Likewise. +	(|compileQuietly|): Likewise. +	(COMP-1): Likewise. +  	* interp/define.boot (compDefineCategory): Check that a category  	was indeed abbreviated a category. diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet index 1bb9eabc..75c43cae 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -2931,7 +2931,6 @@ OrderedAbelianSemiGroup(): Category == Join(OrderedSet, AbelianSemiGroup)  OrderedSemiGroup(): Category == Join(OrderedSet, SemiGroup)  @ -@  \section{category OCAMON OrderedCancellationAbelianMonoid}  <<category OCAMON OrderedCancellationAbelianMonoid>>=  )abbrev category OCAMON OrderedCancellationAbelianMonoid diff --git a/src/interp/comp.lisp b/src/interp/comp.lisp index 8945cc49..b60cd837 100644 --- a/src/interp/comp.lisp +++ b/src/interp/comp.lisp @@ -65,36 +65,6 @@  (defvar $closedfns nil) -(defun |compAndDefine| (L) -  (let ((*comp370-apply* (function print-and-eval-defun))) -    (declare (special *comp370-apply*)) -    (COMP L))) - -(defun COMP (L) (MAPCAR #'COMP-2 (MAPCAN #'COMP-1 L))) - -;;(defun |compQuietly| (L) -;;  (let (U CUROUTSTREAM) -;;    (declare (special CUROUTSTREAM)) -;;    (ADDOPTIONS 'LISTING NULLOUTSTREAM)                      -;;    (SETQ CUROUTSTREAM NULLOUTSTREAM)                        -;;    (setq U (COMP L)) -;;    (setq OPTIONLIST (CDDR OPTIONLIST)) -;;    U)) - -(defun |compQuietly| (fn) -  (let ((*comp370-apply* -         (if |$InteractiveMode| -             (if |$compileDontDefineFunctions| -		 #'compile-defun -	       #'eval-defun) -           #'print-defun)) -     ;; following creates a null outputstream if $InteractiveMode -        (|$OutputStream| -         (if |$InteractiveMode| -	     (make-broadcast-stream) -           (make-synonym-stream '*standard-output*)))) -    (COMP fn))) -  ;; The following are used mainly in setvars.boot  (defun notEqualLibs (u v)    (if (string= u (library-name v)) (seq (close-library v) t) nil)) @@ -113,46 +83,6 @@    (|dropInputLibrary| lib)     (setq input-libraries (cons (open-library lib) input-libraries)) ) - - -;;(defun |compileQuietly| (L) (PROG (U CUROUTSTREAM) -;;  ;; calls lisp system COMPILE or DEFINE                   -;;  (ADDOPTIONS 'QUIET 'T)                                   -;;  (ADDOPTIONS 'LISTING NULLOUTSTREAM)                      -;;  (SETQ CUROUTSTREAM NULLOUTSTREAM)                        -;;  (SETQ U (COND                                            -;;    (|$compileDontDefineFunctions| (COMPILE L))            -;;    ('T (DEFINE L))))                                      -;;  (SETQ OPTIONLIST (CDDR OPTIONLIST))                      -;;  (RETURN U)   ))                                        - -(defun |compileQuietly| (fn) -  (let ((*comp370-apply* -         (if |$InteractiveMode| -             (if |$compileDontDefineFunctions|  -		 #'compile-defun -	       #'eval-defun) -           #'print-defun)) -	;; following creates a null outputstream if $InteractiveMode -        (|$OutputStream| -         (if |$InteractiveMode|  -	     (make-broadcast-stream) -           (make-synonym-stream '*standard-output*)))) -    (COMP370 fn))) - -(defun COMP-1 (X) -  (let* ((FNAME (car X)) -         ($FUNNAME FNAME) -         ($FUNNAME_TAIL (LIST FNAME)) -         (LAMEX (second X)) -         ($closedfns nil)) -    (declare (special $FUNNAME $FUNNAME_TAIL $CLOSEDFNS)) -    (setq LAMEX (COMP-TRAN LAMEX)) -    (COMP-NEWNAM LAMEX) -    (if (fboundp FNAME) -        (format t "~&~%;;;     ***       ~S REDEFINED~%" FNAME)) -    (CONS (LIST FNAME LAMEX) $CLOSEDFNS))) -  (defun Comp-2 (args &aux name type argl bodyl junk)      (dsetq (NAME (TYPE ARGL . BODYL) . JUNK) args)      (cond (JUNK (MOAN (format nil "******pren error in (~S (~S ...) ...)" NAME TYPE))) diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 3fc3b462..550776b2 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1614,6 +1614,49 @@ compileFileQuietly path ==      MAKE_-SYNONYM_-STREAM "*STANDARD-OUTPUT*"    COMPILE_-FILE path +compAndDefine l == +  _*COMP370_-APPLY_* := function PRINT_-AND_-EVAL_-DEFUN +  COMP l + +compQuietly fn == +  _*COMP370_-APPLY_* := +    $InteractiveMode => +      $compileDontDefineFunctions => function COMPILE_-DEFUN +      function EVAL_-DEFUN +    function PRINT_-DEFUN +  -- create a null outputstream if $InteractiveMode +  $OutputStream :=  +    $InteractiveMode => MAKE_-BROADCAST_-STREAM() +    MAKE_-SYNONYM_-STREAM "*STANDARD-OUTPUT*" +  COMP fn + +compileQuietly fn == +  _*COMP370_-APPLY_* := +     $InteractiveMode => +       $compileDontDefineFunctions => function COMPILE_-DEFUN +       function EVAL_-DEFUN +     function PRINT_-DEFUN +  $OutputStream :=  +    $InteractiveMode => MAKE_-BROADCAST_-STREAM() +    MAKE_-SYNONYM_-STREAM "*STANDARD-OUTPUT*" +  COMP370 fn + + +COMP l == +  MAPCAR(function COMP_-2, MAPCAN(function COMP_-1,l)) + +COMP_-1 x == +  fname := first x +  $FUNNAME := fname +  $FUNNAME__TAIL := [fname] +  lamex := second x +  $CLOSEDFNS := [] +  lamex := COMP_-TRAN lamex +  COMP_-NEWNAM lamex +  if FBOUNDP fname then +    FORMAT(true,'"~&~%;;;     ***       ~S REDEFINED~%",fname) +  [[fname,lamex],:$CLOSEDFNS] +  --% Register compilers for special forms.  -- Those compilers are on the `SPECIAL' property of the corresponding  | 
