mirror of
https://github.com/PDP-10/its.git
synced 2026-01-17 08:43:21 +00:00
133 lines
4.6 KiB
Common Lisp
133 lines
4.6 KiB
Common Lisp
;;-*-LISP-*-
|
||
;; Evaluator, Compiler, and Runtime options for macsyma source files.
|
||
|
||
;; Various autoloads
|
||
|
||
(PUTPROP 'Y-OR-N-P "LIBMAX;LMRUN" 'AUTOLOAD)
|
||
|
||
(AUTOLOAD-MACRO 'LOOP "LIBLSP;LOOP" 'LOOP-TRANSLATE)
|
||
;; This probably isn't used any more. Replacement is Lispm
|
||
;; WITH-OPEN-FILE form. The only place which might use it would
|
||
;; be LIBMAX;DEFINE, which should be converted. -cwh
|
||
(AUTOLOAD-MACRO 'PHI "LIBLSP;IOTA")
|
||
(AUTOLOAD-MACRO 'DEFSTRUCT "LIBLSP;STRUCT")
|
||
(AUTOLOAD-MACRO 'TRANSL-MODULE "LIBMAX;TRANSM")
|
||
(AUTOLOAD-MACRO 'GCALL-BIND "LIBMAX;NUMMAC")
|
||
(AUTOLOAD-MACRO 'DEF-PROCEDURE-PROPERTY "LIBMAX;PROCS")
|
||
(AUTOLOAD-MACRO 'CALL-PROCEDURE-PROPERTY "LIBMAX;PROCS")
|
||
(AUTOLOAD-MACRO 'DEFCLOSURE "LIBMAX;CLOSE")
|
||
(AUTOLOAD-MACRO 'CALL "LIBMAX;CLOSE")
|
||
(AUTOLOAD-MACRO 'DEF-OPTIONS "LIBMAX;OPSHIN")
|
||
(AUTOLOAD-MACRO '|DEF#\SYMBOL| "LIBMAX;READM")
|
||
|
||
(DEFPROP PARSE-OPTION-HEADER "LIBMAX;OPSHIN" AUTOLOAD)
|
||
(DEFPROP META-EVAL "LIBMAX;META" AUTOLOAD)
|
||
|
||
|
||
;; RUNTIME, to support files used by the macsyma user.
|
||
|
||
(SETQ NEEDED-MACRO-FILES-RUNTIME
|
||
'((LMMAC)
|
||
(MAXMAC)
|
||
(DEFINE)
|
||
(MOPERS)
|
||
(UMLMAC "DSK:LISP;")))
|
||
|
||
|
||
|
||
(SETQ EVALUATOR-OPTIONS-RUNTIME
|
||
'(
|
||
;; This switch controls whether DEFUN uses the ARGS property for argument count
|
||
;; checking or generates in-line code and error messages. When disabled, a
|
||
;; message like "between 2 to 4 arguments expected" will be printed. When
|
||
;; enabled, something like "EXP and VAR are required arguments; UPPER-BOUND and
|
||
;; LOWER-BOUND are optional" can be printed since the arglist will be saved.
|
||
;; At eval time, this is enabled to facilitate debugging. At compile time,
|
||
;; this is disabled to save address space. This can be overridden locally for
|
||
;; files which want to print more informative error messages.
|
||
(SETQ DEFUN&-CHECK-ARGS T)
|
||
;; Some conditionalizations depend upon the machine architecture and not the
|
||
;; operating system. This allows one to distinguish between them, i.e. one
|
||
;; should do #+PDP10 rather than #+(OR ITS DEC20).
|
||
;; Turn on (STATUS FEATURE GC) to include gc code.
|
||
(SSTATUS FEATURE PDP10)
|
||
(SSTATUS FEATURE GC)
|
||
;; To facilitate debugging, don't displace macros. This prevents repeated
|
||
;; expansion, but makes life easier for programs like STEP which don't know
|
||
;; about MACROEXPANDED.
|
||
(SETQ MACRO-EXPANSION-USE 'MACROMEMO)
|
||
;; so old code gets gc'd, flush it from the Macromemo hash table!!!
|
||
(FLUSH-MACROMEMOS () ())
|
||
|
||
;; This guy has an icky macro properties in the compiler.
|
||
|
||
(DEFUN MTELL-OPEN (&REST L) (APPLY #'MFORMAT (CONS NIL L)))
|
||
(DEFUN MFORMAT-OPEN (&REST L) (APPLY #'MFORMAT L))
|
||
|
||
;; Use a winning FSUBR for LET in the interpreter.
|
||
;; Saves core and eyestrain.
|
||
(PROGN (DEFPROP LET LETFEX FEXPR)
|
||
(DEFPROP LET* LET*FEX FEXPR)
|
||
(DEFPROP DESETQ DESETQFEX FEXPR)
|
||
(DEFPROP LETFEX |DSK:LIBLSP;LETFEX FASL| AUTOLOAD)
|
||
(DEFPROP LET*FEX |DSK:LIBLSP;LETFEX FASL| AUTOLOAD)
|
||
(DEFPROP DESETQFEX |DSK:LIBLSP;LETFEX FASL| AUTOLOAD))
|
||
))
|
||
|
||
(SETQ COMPILER-OPTIONS-RUNTIME
|
||
'((SETQ DEFUN&-CHECK-ARGS NIL)
|
||
;; Don't place macros in the fasl file. Don't load DEFMAX package at runtime.
|
||
;; Macro packages should include LIBMAX;MPRELU >. Should macro calls be
|
||
;; displaced at eval time? There are good arguments for and against this.
|
||
(SETQ DEFMACRO-FOR-COMPILING NIL)
|
||
(SETQ DEFMACRO-DISPLACE-CALL NIL)
|
||
(MACROS NIL)
|
||
;; Use an ASCII encoding scheme (rather than SIXBIT) for in line messages
|
||
;; produced by PRINC of a string or symbol. This should be on by default.
|
||
(SETQ USE-STRT7 T)
|
||
(setq ibase 10. base 10. *nopoint nil)
|
||
;; FEATURES:
|
||
(SSTATUS FEATURE PDP10)
|
||
(SSTATUS FEATURE GC)
|
||
;; When compiling via :CL, don't bother splitting up files.
|
||
;; Only split when debugging via :MCL.
|
||
(COND ((NOT (STATUS FEATURE MACSYMA-COMPLR))
|
||
(DEFUN SPLITFILE FEXPR (X) NIL)))
|
||
(LOAD-MACSYMA-MACROS MFORMA ERMSGC)
|
||
))
|
||
|
||
(SETQ RUNTIME-OPTIONS-RUNTIME NIL)
|
||
|
||
|
||
;; MACRO, to support files used by macsyma system programmers to make
|
||
;; RUNTIME files. i.e. various syntactical extensions to the system.
|
||
|
||
(SETQ NEEDED-MACRO-FILES-MACRO
|
||
'((UMLMAC "DSK:LISP;")
|
||
(MAXMAC)
|
||
(LMMAC)
|
||
(MFORMA)))
|
||
|
||
(SETQ EVALUATOR-OPTIONS-MACRO
|
||
'(
|
||
;; FEATURES:
|
||
(STATUS FEATURE PDP10)
|
||
))
|
||
|
||
(SETQ COMPILER-OPTIONS-MACRO
|
||
'(
|
||
;; Make DEFUN generate inline code for args checking. This is only
|
||
;; for compile and eval time usage, so we don't lose anything.
|
||
(SETQ DEFUN&-CHECK-ARGS T)
|
||
;; Compile macros and put them in the fasl file.
|
||
(SETQ DEFMACRO-FOR-COMPILING T)
|
||
(MACROS T)
|
||
;; Use an ASCII encoding scheme (rather than SIXBIT) for in line messages
|
||
;; produced by PRINC of a string or symbol.
|
||
(SETQ USE-STRT7 T)
|
||
;; FEATURES:
|
||
(STATUS FEATURE PDP10)
|
||
))
|
||
|
||
(SETQ RUNTIME-OPTIONS-MACRO NIL)
|