mirror of
https://github.com/PDP-10/its.git
synced 2026-03-05 11:04:02 +00:00
105 lines
4.6 KiB
Common Lisp
105 lines
4.6 KiB
Common Lisp
;;-*-lisp-*-
|
||
;;the declaration to the compiler for Director system code is here
|
||
|
||
(declare ;;(macros t) removed since (defun (foo macro) ...) does it for me
|
||
(mapex t)
|
||
;;want all mapped functions open coded so that macros are never double expanded
|
||
(muzzled t) ;;for the time being not worried about number optimations
|
||
(setq nfunvars t)) ;;i use funcall to make functional variables explicit
|
||
|
||
(defun defcomment macro (nil) nil) ;this is useful mostly for tags
|
||
|
||
(defcomment decla2) ;for tags
|
||
|
||
(declare (special :penstate :xorstate :eraserstate :heading :colors :pencolor :erasercolor
|
||
:last-runtime :xcor :ycor :turtle-windows :outline
|
||
:tvrtle-file-name pi-over-180 :e
|
||
:last-thing-upped :tvstep :reasonable-size-interpolation
|
||
turtle-picture-right turtle-picture-top)) ;;these are tvrtle variables
|
||
|
||
(declare (special compiled-pattern-of-name ask-all-result)) ;;for expansion of ask-all
|
||
|
||
(defcomment *lexpr)
|
||
|
||
(declare
|
||
(*lexpr turtlesize tvsize mw hw sw range bearing eval-define dicks-print dicks-prin1 /#princ
|
||
director-load merge-suggestions gen-number time-to-walk copy test-part-of-pattern
|
||
estimate-time-to-move-character find-screen-coordinate-of ideal-number-of-cycles
|
||
some-number-of-cycles estimate-time-for-cycles ask-macro predicate-of-pattern
|
||
type print-without-parens princ-without-parens princ+blank insert-receive
|
||
update-compiled-transmission compile-cases-cleverly extractor-of-difference
|
||
update-all-dependent-selectors update-appropriate-dependent-compiled-transmissions
|
||
compile-file compile-files defunize compile-actor make-actor union intersect
|
||
collect-all-variable-names collect-all-memory-items super-member))
|
||
|
||
(defcomment special)
|
||
|
||
(declare
|
||
(special :self :message :compiler-on ? :old-value :new-value :files-already-read
|
||
:protected-actors :compile-simple-transmissions :help-storage-place
|
||
:default-compilation-target :print-load-messages :reset-default-compilation-target?
|
||
:reversed-already? no-value nothing-found :frames-per-second :ticks-per-frame
|
||
:compiled-movies :line-length :actors-currently-traced :actor-of-method-being-run
|
||
:dont-want-to-see-warnings-from :use-expansions :replace-old-methods
|
||
:message-not-understood :actor-not-defined :ask-type-macros :warning-break
|
||
:color-tvrtle-file-name :method-being-run :circular-list-of-nils
|
||
:actor+skipped-methods :skip-current-method? :collecting-actors :actors-collected
|
||
:expansion-number-indicator :maximum-number-of-matching-methods
|
||
:make-method-selectors :internal-methods-first
|
||
:compilation-target :update-all-dependent-selectors :non-inheritable-variable-names))
|
||
|
||
(declare (special arg-package-appearance-drawer)) ;;for compiling movies
|
||
|
||
|
||
;;for compiling actors
|
||
(declare (special :help-file-object :macros-file-object
|
||
:want-to-make-help-file :collecting-actors-in-this-file)
|
||
(special :compile-all-together :stuff-not-printed))
|
||
|
||
(declare (special :insert-methods-at-end :old-macro-form :whole-macro-form))
|
||
|
||
|
||
;;when fast-compile is declared in a file the special compiling macros are activated
|
||
|
||
|
||
(declare
|
||
(setq :displace-macro-calls t) ;;so that macro calls are expanded only once
|
||
(setq :protected-actors nil) ;;anybody can be redefined while compiling
|
||
(cond ((and (boundp 'clever-compile)
|
||
clever-compile) ;;on the c switch in compiler version 769 and >
|
||
(setq errset t) ;since bugs pop up so often
|
||
((lambda (*rset nouuo)
|
||
(cond ((status features director-loader)) ;;already loaded
|
||
(t (load '|ai:ken;ken lisp|)
|
||
(load '|ai:ken;load|)
|
||
(director '(ani direct))))) ;;both systems should be available
|
||
nil nil)
|
||
(setq :compile-all-together nil) ;;so that it makes Macros, Depends and Help
|
||
(coutput (append '(comment fast compiling) (status crfile)))
|
||
(or (member (full-file-name (status crfile)) :files-already-read)
|
||
(director-load-and-return-actors (status crfile) '(to define its actors)))
|
||
(compiler-switch t)
|
||
(setq :reset-default-compilation-target? t ;;this is the default and should
|
||
:default-compilation-target 'something) ;;be reset in the file
|
||
(setq :use-expansions nil))))
|
||
|
||
(declare (or (status features gcdemn) (load '|ken;gcdemn|)))
|
||
|
||
(declare (cond ((not (status features dicks-printer))
|
||
(load '|liblsp;#print|)
|
||
(sstatus features dicks-printer))))
|
||
|
||
(declare (or (status features henrys-read-macros) (load '|ken1;reamac|)))
|
||
|
||
(declare (or (status features macro-expansion) (load '|ken1;expmac|)))
|
||
|
||
;;(declare (or (status features henrys-macros) (load '|ken1;hmac|)))
|
||
|
||
(declare (or (status features director-macros) (load '|ken1;macros|)))
|
||
|
||
(declare (or (status features kens-utilities) (load '|ken1;util|)))
|
||
|
||
(declare (or (status features director) (load'|ken1;drect|)))
|
||
;;these files are needed to complete macro defintions (ask for example)
|
||
|