aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/Makefile.in2
-rw-r--r--src/interp/Makefile.pamphlet2
-rw-r--r--src/interp/buildom.boot12
-rw-r--r--src/interp/macros.lisp4
-rw-r--r--src/interp/template.boot2
5 files changed, 6 insertions, 16 deletions
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index ef663758..50f1ae72 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -773,7 +773,7 @@ boot-pkg.$(FASLEXT): boot-pkg.lisp
buildom.$(FASLEXT): buildom.boot sys-macros.$(FASLEXT)
- $(BOOTSYS) --compile --boot="old" --output=$@ --load-directory=. $<
+ $(BOOTSYS) --compile --output=$@ --load-directory=. $<
$(axiom_build_texdir)/diagrams.tex: $(axiom_src_docdir)/diagrams.tex
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 79dc2ce1..c53776a9 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -1072,7 +1072,7 @@ boot-pkg.$(FASLEXT): boot-pkg.lisp
<<warm.data.stanza>>
buildom.$(FASLEXT): buildom.boot sys-macros.$(FASLEXT)
- $(BOOTSYS) --compile --boot="old" --output=$@ --load-directory=. $<
+ $(BOOTSYS) --compile --output=$@ --load-directory=. $<
<<DVI from pamphlet>>
diff --git a/src/interp/buildom.boot b/src/interp/buildom.boot
index d696b2bc..2e7c1988 100644
--- a/src/interp/buildom.boot
+++ b/src/interp/buildom.boot
@@ -67,12 +67,6 @@ $FirstParamSlot ==
isRecord type ==
type is ["Record",:.]
-RecordInner args ==
- -- this is old and should be removed wherever it occurs
- if $evalDomain then
- sayBrightly '"-->> Whoops! RecordInner called from this code."
- Record0 VEC2LIST args
-
++ returns the code for the `n'th item recorded in a domain shell,
++ according to the old runtime system. Note that the old runtime
++ scheme is used only for the handful of constructors created
@@ -82,8 +76,8 @@ oldSlotCode n ==
2 * ($FirstParamSlot + n)
-Record0 args ==
- srcArgs := [[":",first a, devaluate rest a] for a in args]
+Record(:args) ==
+ srcArgs := [[":", second a, devaluate third a] for a in args]
-- if we already have this instantiation in store, just hand it back.
t := lassocShiftWithFunction(srcArgs,
HGET($ConstructorCache,"Record"), "domainEqualList") =>
@@ -101,7 +95,7 @@ Record0 args ==
dom.3 := ["RecordCategory",:QCDR dom.0]
dom.4 := [$commonCategoryDefaults, $commonCategoryAncestors]
dom.5 := nil
- for i in $FirstParamSlot.. for a in args repeat dom.i := rest a
+ for i in $FirstParamSlot.. for a in args repeat dom.i := third a
dom.($FirstParamSlot + nargs) := [function RecordEqual, :dom]
dom.($FirstParamSlot + nargs + 1) := [function RecordPrint, :dom]
dom.($FirstParamSlot + nargs + 2) := [function Undef, :dom]
diff --git a/src/interp/macros.lisp b/src/interp/macros.lisp
index 36dc31e8..b0396ed0 100644
--- a/src/interp/macros.lisp
+++ b/src/interp/macros.lisp
@@ -787,10 +787,6 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
;; -*- Record Structures -*-
;;
-(defmacro |Record| (&rest x)
- `(|Record0| (LIST ,@(COLLECT (IN Y X)
- (list 'CONS (MKQ (CADR Y)) (CADDR Y))))))
-
(defmacro |:| (tag expr)
`(LIST '|:| ,(MKQ tag) ,expr))
diff --git a/src/interp/template.boot b/src/interp/template.boot
index c0739a63..0f0cb908 100644
--- a/src/interp/template.boot
+++ b/src/interp/template.boot
@@ -108,7 +108,7 @@ evalSlotDomain(u,dollar) ==
u is ['NRTEVAL,y] => eval y
u is ['QUOTE,y] => y
u is ['Record,:argl] =>
- FUNCALL('Record0,[[tag,:evalSlotDomain(dom,dollar)]
+ apply('Record,[[":",tag,evalSlotDomain(dom,dollar)]
for [.,tag,dom] in argl])
u is ['Union,:argl] and first argl is ['_:,.,.] =>
APPLY('Union,[['_:,tag,evalSlotDomain(dom,dollar)]