[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MacLISP's LDB "moves" from out-of-core

    Date: 28 November 1980 16:34-EST
    From: Alan Bawden <ALAN at MIT-MC>
    I have been working on some new features for defstruct and I compiled
    a version that should have run in MacLisp.  I asked DLW and Moon to
    try it out (in MacLisp) confident that it would work in anybody's
    SETF.  I was wrong of course: .  .  .
I'm so very sorry Alan, but your artfully worded complaint was just totally 
off base again -- DLW's symptom has nothing to do with SETF per se, nor of any 
"macrology", but to the lack of address space in the PDP10 MacLISP which has 
caused us to try keep only a minimal amount of code and symbols in the initial
   LDB etc used to be macros which autoloaded from some file (the out-dated 
autoload properties in current L^K caused a minor lossage which I've corrected
thru a "patch" in the file which does get autoloaded).  But in XLISP, these 
functions are system SUBRs,(just a few words each) and the COMPLR uses the 
former macro properties to do a half-job of open-coding.
This was noted in LISP RECENT:
    Tuesday  OCT 28,1980   FM+4D.17H.18M.10S.        LISP 2033   - Jonl -
    1) Some new functions:
	LOAD-BYTE, DEPOSIT-BYTE, LDB, and DPB  are now installed as SUBR's.
    .  . .
Neither in the old lisp, nor in the new, was the correct property set up for 
SETF to find for inverting LDB, but I've corrected this and recompiled the
offending files.  Essentially the same thing applies to the apparent use
of *:XREF in old lisp.   *DPB is a part of the PDP10-only macroexpansions
of LDB, and is not a bug.
    We may only conclude that no PDP10 user has ever used SETF on a LDB, 
reinforcing our common observation that the "ppss" part of the LISPMachine 
defstruct is not a particlularly useful tool on the 10.  However, users
seem to be sensitive to the slightest change in LDB etc, since there
were quite a few who reported when XCOMPLR had (buggily!) forgotten the
FIXNUM declarations for LDB, *LDB etc.
    If you had remembered the conversation I had with you last month, when
you first asked what the *LDB and *DPB were, you might have recognized the 
problem, and might have been able to tell DLW something constructive.