mirror of
https://github.com/PDP-10/its.git
synced 2026-03-02 01:50:24 +00:00
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
(multicsp (%include backquote))
|
|
(multicsp (%include defmacro))
|
|
(multicsp (%include once-only))
|
|
|
|
(itsp (includef '|bsg;oonl >|))
|
|
(declare (special FRONT-0 BACK-0 RHS-0 LHS-0 TOP-0 BOTTOM-0))
|
|
(declare (special FRONT BACK RHS LHS TOP BOTTOM))
|
|
(declare (special cube-interrupt-set cube-display-needs-update))
|
|
|
|
|
|
(defmacro 1to (n v &rest forms)
|
|
`(do ,v 1 (1+ ,v)(> ,v ,n) . ,forms))
|
|
|
|
(defmacro 1to3 gunk `(1to 3 . ,gunk))
|
|
(defmacro 1to4 gunk `(1to 4 . ,gunk))
|
|
(defmacro mod stuff(cons '\ stuff))
|
|
|
|
(defmacro all-faces (var . forms)`(1to 6 ,var . ,forms))
|
|
|
|
(defmacro all-little-faces ((y z) . forms)
|
|
`(1to 3 ,y (1to 3 ,z . ,forms)))
|
|
|
|
(declare (array* (notype (colors 7)(cube 7 4 4)(face-names 7)
|
|
(face-clock-relations 7 5))
|
|
(fixnum (Atop 7)(Abottom 7)(Aright 7)(Aleft 7)(Aback 7)
|
|
(face-relations 7 7)(xpcoef 7 3)(ypcoef 7 3))))
|
|
|
|
(declare (eval (read)))
|
|
(defun case-construct-util (var pred clauses)
|
|
(once-only
|
|
(var)
|
|
(cons 'cond
|
|
(mapcar '(lambda (pair)
|
|
(let (((val . forms) pair))
|
|
(cond ((eq val t) `(t . ,forms))
|
|
(t `((,pred ,var ,val) . ,forms)))))
|
|
clauses))))
|
|
|
|
(defmacro case (var . clauses)(case-construct-util var 'equal clauses))
|
|
(defmacro caseq (var . clauses)(case-construct-util var 'eq clauses))
|
|
(defmacro case= (var . clauses)(case-construct-util var '= clauses))
|