From b136bc01f60d2baa53148919ee04828dbe9e53b1 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Mon, 21 Apr 2008 02:00:46 +0000 Subject: * interp/template.boot (evalSlotDomain): Tidy. * interp/macros.lisp (Record): Remove. * interp/buildom.boot (RecordInner): Remove. (Record): Rename from Record0. Tidy. * interp/Makefile.pamphlet (buildom.$(FASLEXT)): Don't compiel as Old Boot. --- src/ChangeLog | 9 +++++++++ src/interp/Makefile.in | 2 +- src/interp/Makefile.pamphlet | 2 +- src/interp/buildom.boot | 12 +++--------- src/interp/macros.lisp | 4 ---- src/interp/template.boot | 2 +- 6 files changed, 15 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 7d4f989b..81500433 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2008-04-20 Gabriel Dos Reis + + * interp/template.boot (evalSlotDomain): Tidy. + * interp/macros.lisp (Record): Remove. + * interp/buildom.boot (RecordInner): Remove. + (Record): Rename from Record0. Tidy. + * interp/Makefile.pamphlet (buildom.$(FASLEXT)): Don't compiel as + Old Boot. + 2008-04-20 Gabriel Dos Reis * interp/Makefile.pamphlet (parse.$(FASLEXT)): Don't compile as 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 <> buildom.$(FASLEXT): buildom.boot sys-macros.$(FASLEXT) - $(BOOTSYS) --compile --boot="old" --output=$@ --load-directory=. $< + $(BOOTSYS) --compile --output=$@ --load-directory=. $< <> 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)] -- cgit v1.2.3