1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-20 17:58:40 +00:00
PDP-10.its/src/transl/evalw.12
Eric Swenson 85994ed770 Added files to support building and running Macsyma.
Resolves #284.

Commented out uses of time-origin in maxtul; mcldmp (init) until we
can figure out why it gives arithmetic overflows under the emulators.

Updated the expect script statements in build_macsyma_portion to not
attempt to match expected strings, but simply sleep for some time
since in some cases the matching appears not to work.
2018-03-11 13:10:19 -07:00

42 lines
1.5 KiB
Common Lisp
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;; -*- Mode: Lisp; Package: Macsyma -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; (c) Copyright 1981, 1983 Massachusetts Institute of Technology ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(macsyma-module evalw)
;;; Assuming that this will only be a top-level form, it will
;;; only be see by MEVAL when a file is batched.
;;; EVAL_WHEN(TRANSLATE,FOO(ME),BAZ())$
;;; EVAL_WHEN([LOADFILE,BATCH],INITIALIZE())$
(DECLARE (SPECIAL STATE-PDL BATCONL))
;; Gosh. Seems it was really stupid to have EVAL_WHEN for BATCH and DEMO,
;; people use it for the most random things. -gjc
(DEFMSPEC $EVAL_WHEN (ARGL)
(SETQ ARGL (CDR ARGL))
(COND ((OR (< (LENGTH ARGL) 2)
(NOT (OR (ATOM (CAR ARGL))
($LISTP (CAR ARGL)))))
(MERROR "Bad whens form to EVAL_WHEN~%~M" (CAR ARGL))))
(LET ((DEMOP #-MAXII (CADDR BATCONL)
#+Maxii NIL)
(WHENS (COND (($LISTP (CAR ARGL)) (CDAR ARGL))
(T (LIST (CAR ARGL))))))
(COND ((COND (#-MAXII (MEMQ 'BATCH STATE-PDL)
#+MAXII T ; foo for now!
(IF DEMOP (OR (MEMQ '$DEMO WHENS) (MEMQ '$BATCH WHENS))
(MEMQ '$BATCH WHENS)))
(T
;; this is a form typed in on a c-line by
;; the user. or, perhaps it is inside a
;; program. Which is an error in the translator.
;; What *was* I doing here? -gjc
(MEMQ '$TOPLEVEL WHENS)))
`(($EVALUATED_WHEN) ,@(MAPCAR 'MEVAL (CDR ARGL))))
(T
'$NOT_EVALUATED_WHEN))))