Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

import an LOOP macro #1579

Merged
merged 7 commits into from
Mar 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 12 additions & 5 deletions internal/loadups/LOADUP-LISP
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)

(FILECREATED "31-Jul-2023 18:22:53" |{DSK}<home>frank>il>medley>gmedley>sources>LOADUP-LISP.;2| 5235
(FILECREATED "14-Mar-2024 12:16:33" |{DSK}<home>larry>il>medley>internal>loadups>LOADUP-LISP.;2| 5426

:EDIT-BY "lmm"

:CHANGES-TO (FNS LOADUP-LISP)

:PREVIOUS-DATE "27-Feb-2023 17:15:53"
|{DSK}<home>frank>il>medley>gmedley>sources>LOADUP-LISP.;1|)
:PREVIOUS-DATE "31-Jul-2023 18:22:53"
|{DSK}<home>larry>il>medley>internal>loadups>LOADUP-LISP.;1|)


(PRETTYCOMPRINT LOADUP-LISPCOMS)
Expand All @@ -18,7 +20,8 @@
(DEFINEQ

(LOADUP-LISP
(LAMBDA (DRIBBLEFILE) (* \; "Edited 26-Feb-2023 12:17 by lmm")
(LAMBDA (DRIBBLEFILE) (* \; "Edited 14-Mar-2024 12:16 by lmm")
(* \; "Edited 26-Feb-2023 12:17 by lmm")
(* \; "Edited 13-Jul-2022 14:09 by rmk")
(* \; "Edited 4-Mar-2022 19:13 by larry")
(* \; "Edited 29-Apr-2021 22:30 by rmk:")
Expand Down Expand Up @@ -107,6 +110,10 @@

(PACKAGE-ENABLE)

(* |;;| " Added late")

(LOADUP '(XCL-LOOP))

(* |;;| " networking code -- should make it optional but too many cross dependencies")

(LOADUP '(PUP 10MBDRIVER LEAF LLETHER DPUPFTP LOCALFILE DSKDISPLAY COURIER LLNS TRSERVER SPP
Expand All @@ -123,5 +130,5 @@
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
)
(DECLARE\: DONTCOPY
(FILEMAP (NIL (649 5029 (LOADUP-LISP 659 . 5027)))))
(FILEMAP (NIL (673 5220 (LOADUP-LISP 683 . 5218)))))
STOP
Binary file modified internal/loadups/LOADUP-LISP.LCOM
Binary file not shown.
54 changes: 24 additions & 30 deletions sources/CMLSPECIALFORMS
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "LISP")
(IL:FILECREATED "16-May-90 14:43:08" IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;2| 20313
(DEFINE-FILE-INFO PACKAGE "LISP" READTABLE "XCL" BASE 10)

IL:|changes| IL:|to:| (IL:VARS IL:CMLSPECIALFORMSCOMS)
(IL:FILECREATED "15-Mar-2024 20:39:04" IL:|{DSK}<home>larry>il>medley>sources>CMLSPECIALFORMS.;4| 19873

IL:|previous| IL:|date:| "13-Jun-88 18:25:25"
IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
:EDIT-BY "lmm"

:CHANGES-TO (IL:VARS IL:CMLSPECIALFORMSCOMS)

:PREVIOUS-DATE "15-Mar-2024 10:39:44" IL:|{DSK}<home>larry>il>medley>sources>CMLSPECIALFORMS.;2|
)

; Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990 by Venue & Xerox Corporation. All rights reserved.

(IL:PRETTYCOMPRINT IL:CMLSPECIALFORMSCOMS)

(IL:RPAQQ IL:CMLSPECIALFORMSCOMS
((IL:COMS (IL:FUNCTIONS LOOP)
(IL:COMS (IL:FUNCTIONS IDENTITY)
(XCL:OPTIMIZERS IDENTITY))
((IL:COMS (IL:COMS (IL:FUNCTIONS IDENTITY)
(XCL:OPTIMIZERS IDENTITY))
(IL:FUNCTIONS UNLESS WHEN))
(IL:FUNCTIONS FLET LABELS IL:SELECTQ)
(IL:COMS
Expand All @@ -31,8 +31,7 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)

(IL:COMS

(IL:* IL:|;;|
 "Hacks for Interlisp NLAMBDAs that should look like functions")
(IL:* IL:|;;| "Hacks for Interlisp NLAMBDAs that should look like functions")

(IL:PROP IL:MACRO IL:FRPTQ IL:SETN IL:SUB1VAR IL:*))
(IL:COMS (IL:FNS IL:BQUOTIFY)
Expand All @@ -53,21 +52,14 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
(IL:NLAML)
(IL:LAMA)))))

(DEFMACRO LOOP (&REST FORMS)
(LET ((TAG (GENSYM)))
`(PROG NIL
,TAG
,@FORMS
(GO ,TAG))))

(DEFUN IDENTITY (THING)

(IL:* IL:|;;| "Returns what was passed to it. Default for :key options.")

THING)

(XCL:DEFOPTIMIZER IDENTITY (X)
X)
X)

(DEFMACRO UNLESS (TEST &BODY BODY)
`(COND
Expand Down Expand Up @@ -223,10 +215,10 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)


(DEFMACRO DO (VARS END-TEST &BODY BODY &ENVIRONMENT ENV)
(%DO-TRANSLATE VARS END-TEST BODY NIL ENV))
(%DO-TRANSLATE VARS END-TEST BODY NIL ENV))

(DEFMACRO DO* (BINDS END-TEST &REST BODY &ENVIRONMENT ENV)
(%DO-TRANSLATE BINDS END-TEST BODY T ENV))
(%DO-TRANSLATE BINDS END-TEST BODY T ENV))

(DEFUN %DO-TRANSLATE (VARS END-TEST BODY SEQUENTIALP ENV)
(LET ((VARS-AND-INITIAL-VALUES (MAPCAR #'(LAMBDA (X)
Expand Down Expand Up @@ -263,7 +255,7 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
(GO ,TAG)))))

(DEFMACRO DOLIST ((VAR LISTFORM &OPTIONAL RESULTFORM)
&BODY BODY &ENVIRONMENT ENV)
&BODY BODY &ENVIRONMENT ENV)
(LET ((TAIL (GENSYM)))
(MULTIPLE-VALUE-BIND
(BODY DECL)
Expand All @@ -278,7 +270,7 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
(SETQ ,TAIL (CDR ,TAIL)))))))

(DEFMACRO DOTIMES ((VAR COUNTFORM &OPTIONAL RESULTFORM)
&BODY BODY &ENVIRONMENT ENV)
&BODY BODY &ENVIRONMENT ENV)
(LET ((MAX (GENSYM)))
(MULTIPLE-VALUE-BIND (BODY DECLS)
(XCL:PARSE-BODY BODY ENV)
Expand All @@ -298,7 +290,7 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
(CLAUSES
(MAPCAR
#'(LAMBDA
(CASE)
(CASE)
(LET ((KEY-LIST (CAR CASE))
(CONSEQUENTS (OR (CDR CASE)
(LIST NIL))))
Expand Down Expand Up @@ -341,10 +333,10 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)
(IL:PUTPROPS IL:SETN IL:MACRO (= . IL:SETQ))

(IL:PUTPROPS IL:SUB1VAR IL:MACRO ((IL:X)
(IL:SETQ IL:X (IL:SUB1 IL:X))))
(IL:SETQ IL:X (IL:SUB1 IL:X))))

(IL:PUTPROPS IL:* IL:MACRO ((IL:X . IL:Y)
'IL:X))
'IL:X))
(IL:DEFINEQ

(il:bquotify
Expand Down Expand Up @@ -479,9 +471,11 @@ IL:|{DSK}<usr>local>lde>lispcore>sources>CMLSPECIALFORMS.;1|)

(IL:ADDTOVAR IL:LAMA )
)
(IL:PUTPROPS IL:CMLSPECIALFORMS IL:COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987
1988 1990))
(IL:DECLARE\: IL:DONTCOPY
(IL:FILEMAP (NIL (13354 18024 (IL:BQUOTIFY 13367 . 18022)) (19227 19633 (IL:CLEAR-CLISPARRAY 19240 .
19631)))))
(IL:FILEMAP (NIL (2492 2613 (IDENTITY 2492 . 2613)) (2681 2773 (UNLESS 2681 . 2773)) (2775 2845 (WHEN
2775 . 2845)) (2847 4614 (FLET 2847 . 4614)) (4616 6669 (LABELS 4616 . 6669)) (6671 8466 (IL:SELECTQ
6671 . 8466)) (8513 8624 (DO 8513 . 8624)) (8626 8738 (DO* 8626 . 8738)) (8740 10291 (%DO-TRANSLATE
8740 . 10291)) (10293 10883 (DOLIST 10293 . 10883)) (10885 11388 (DOTIMES 10885 . 11388)) (11390 12562
(CASE 11390 . 12562)) (13026 17696 (IL:BQUOTIFY 13039 . 17694)) (18899 19305 (IL:CLEAR-CLISPARRAY
18912 . 19303)))))
IL:STOP
Binary file modified sources/CMLSPECIALFORMS.LCOM
Binary file not shown.