Page Numbers: Yes First Page: 1
Heading:
File: [ivy]<krl>DkrlStatus.bravoJuly 20, 1979 1:01 PM
Richard, this is an informal attempt on my part ot dump state about the status of Dorado KRL.
First, on Maxc, the following files have Dorado versions, indicated by a prefixed D - DKRLBASERECORDS(.DBYTE) DKRLRECORDS DMAKEKRLSYS(.DBYTE) DLOADKRL(.DBYTE) DMEMSTRUC(.DBYTE) DLISTFNS(.DBYTE).
These are all different from their Maxc versions, mostly to accomodate the change over to datatypes instead of file resident memory structures. In addition, there is the file DV, which redefines a number of functions on various other files, which either will not compile or compile incorrectly. If you are compiling some non-D file and some function does not compile, or breaks the compiler (in which RETFROM(COMPILE1)), or prints a warning which suggests that it will not run correctly, examine the code and make a new version if necessary and put it on DV. Obviously, DV must be loaded (next to) last, to insure that the proper definitions take hold.
To compile on Maxc, to make .DBYTE files for the access compiler and your own stuff, you should load DKRLBASERECORDS, DKRLRECORDS, DLISTFNS, and DMEMSTRUC into ABC, along with DECLTRAN, and then do TCOMPLs of the relevant files.
It is not clear whether you in fact ought to proceed at all, certainly until the machine is considerably faster, and possibly not until more disk space is available. At the moment, there si room only for 3 sysouts (LISP, USYS or basic KRL, working KRL), and some DBYTE files.
When you decide to proceed, these are the steps you should go thru -
1) Get Willie-Sue to set you up with a disc pack and Lisp area which is as clean as possible - only LISP.SAV, and ask her to show you the basics of using Dorado Lisp.
2) Load up a minimal version of USYS for the dorado, by doing the following in a clean LISP
SET(DWIMIFYCOMPFLG T)
SET(PROMPT#FLG T)
SET(CHANGESARRAY)
CHANGESLICE(100)
LOAD(FILEFNS.DBYTE SYSLOAD)
LOAD(LOADFILES.DBYTE SYSLOAD)
LOADFILES(NIL (UMISC SHOW) DBYTE)
SYSOUT(USYS.SYSOUT;1)
SHOW.DBYTE and LOADFILES.DBYTE come from <BLISPUSERS>, UMISC.DBYTE and FILEFNS.DBYTE come from <UNDERSTANDER> and need to be FTPed over. You can do some or all of that loading undr ↑W, or do a gainspace at the end, or not bother.
3) Fetch <KRL1>*.DBYTE and FUNCPROPS and DKRLRECORDS over from Maxc.
4) LISP USYS.SYSOUT/I
SET(REGULARSYSFLG T)
LOADFILES(NIL (DKRLBASERECORDS DLOADKRL DMEMSTRUC DLISTFNS DKRLRECORDS PARSEFNS PRINTFNS CATALOGFNS CONVFNS UNITFNS FUNCPROPS DV) DBYTE)
InitKRLReader)
InitKrlMem)
SETQ(KRLTEMPFILE (OPENFILE ’KRLTEMPFILE.TEMP ’BOTH ’OLD/NEW))
(WHENCLOSE KRLTEMPFILE ’CLOSEALL ’NO ’EOF ’KRLEOF)
SYSOUT(KRL.SYSOUT;1)
This gives you a minimal KRL, within which you should be able to a) Compile the rest of the system, if you have not already done so on Maxc, except for NEXIFNS, which MUST be compiled on the Dorado, and b) Read, convert, and print KRL structures, God willing and the creek don’t rise.
Having done that, you should try reading in and converting some simple stuff, then you might try loading a file like TREEUNITS or TCUNITS and seeing if that works, and then try compiling NEXIFNS.
5) Try for the whole thing: Load DKRLMAKESYS.DBYTE and DLOADKRL.DBYTE into USYS and do a LOADKRL(NIL NIL NIL T), make a sysout, and see if you can run in it. You will also need to do the stuff above about KRLTEMPFILE - this is to deal with a Dorado Lisp ’feature’. Note also that you have to either go out and come back in to the KRL sysout, or else call InitKrlMem explicitly before you can run.
6) If things don’t work, and you can’t find out why without understanding more about the system than you want to, unless you are really hot forit, you might as well wait until I get back.
Note that on the Dorado, LOGOUT) effectively preserves state, so if you find during loading that ssome file is missing, you can log out of the break, ftp the file over, say LISP, and OK the break and charge on.