[comp.sys.xerox] HELP : CONVERSION FROM INTERLISP TO COMMON LISP

vijay@gt-cmmsr.GATECH.EDU (Vijay) (04/26/88)

   HELP NEEDED TO CHANGE FILES WRITTEN IN INTERLISP TO XEROX-COMMON-LISP.

   IN PARTICULAR :- HOW TO READ IN A COMMON LISP FILE CREATED IN INTERLISP

   ENVIRONMENT INTO THE COMMON LISP ENVIRONMENT.


	I am in the process of changing files ( a power plant simulation)
written in Interlisp-D to Xerox Common Lisp. I would appreciate if someone
who has had some experience doing a similar task or has knowledge of it
could chip in an advice or two.

 THINGS I HAVE ALREADY DONE :

1) I have partitioned the 40MB hard disc on Xerox 1108 Dandelion to support
both the KOTO and LYRIC environment.

2) The functions in all the files have been DWIMIFYed in KOTO and transferred
to the LYRIC environment.

3) The simulation runs fine from the OLD-INTERLISP window in LYRIC.

4) I have translated the diwimified files to XCL using TRANSOR. TRANSOR stores
the translated files on the hard disc using the same filename with extention
TRAN.

 WHERE I NEED HELP :

1) I cannot load (or CL:LOAD) the TRAN files into the environment. The error
I get is caused by the (DEFINE-FILE-INFO :READTABLE 'XCL :PACKAGE 'XCL-USER)
inserted in the TRAN file just above the translated functions.

2) Using the TEDIT I deleted all the statements above the translated functions
but it did not help either.

3) Although I can still DF a translated function from old-interlisp window
I cannot edit the function or the file from XCL window using ED command.


Please email any ideas to the following address

		vijay@gt-cmmsr.gatech.edu

Thanks in anticipation,
vijay vasandani
gatech box 33496,
atlanta ga 30332.
(404) 894-2348.
-- 
Vijay

UUCP:	vijay@gt-cmmsr.UUCP
        ...!{akgua,allegra,hplabs,ihnp4,seismo,ulysses}!gatech!gt-cmmsr!vijay
INTERNET:	vijay@cmmsr.gatech.edu

darrelj@SM.UNISYS.COM (04/30/88)

   Date: 26 Apr 88 04:34:56 GMT
   From: gt-cmmsr!vijay@gatech.edu  (Vijay)
   Organization: Center for Man-Machine Systems Research - Ga Tech
   Subject: HELP : CONVERSION FROM INTERLISP TO COMMON LISP
   Message-Id: <32005@gt-cmmsr.GATECH.EDU>
   Sender: info-1100-request@sumex-aim.stanford.edu
   To: info-1100@sumex-aim.stanford.edu



      HELP NEEDED TO CHANGE FILES WRITTEN IN INTERLISP TO XEROX-COMMON-LISP.

      IN PARTICULAR :- HOW TO READ IN A COMMON LISP FILE CREATED IN INTERLISP

      ENVIRONMENT INTO THE COMMON LISP ENVIRONMENT.



    WHERE I NEED HELP :

   1) I cannot load (or CL:LOAD) the TRAN files into the environment. The error
   I get is caused by the (DEFINE-FILE-INFO :READTABLE 'XCL :PACKAGE 'XCL-USER)
   inserted in the TRAN file just above the translated functions.



   Please email any ideas to the following address

   		vijay@gt-cmmsr.gatech.edu

   Thanks in anticipation,
   vijay vasandani
   gatech box 33496,
   atlanta ga 30332.
   (404) 894-2348.
   -- 
   Vijay

   UUCP:	vijay@gt-cmmsr.UUCP
           ...!{akgua,allegra,hplabs,ihnp4,seismo,ulysses}!gatech!gt-cmmsr!vijay
   INTERNET:	vijay@cmmsr.gatech.edu

As one of the developers of the transor transformations to commonlisp,
the problem is that between beta and real Lyric they mucked with the
Interlisp readtables a bit.  Most of the development and use here
happened under the beta test (and Intermezzo) versions of Interlisp.

When a file starts with a left paren (ignoring font codes), it starts
reading the file with readtable OLD-INTERLISP-FILERDTBL, in which
colon is an ordinary character.  If it encounters a DEFINE-FILE-INFO
call, it processes the contents, but is expecting :PACKAGE and
:READTABLE to be keywords, which they aren't under this readtable.  If
you change the characters to control-uparrow (^^), it should read them
OK.  This turns out to be one of the trickier parts of the
translation, since Transor is lying about the readtable and package
used to write the file, so that it will read and print in "natural" ways.


The way I was loading translated files at one point was with a function:

(DEFUN MYLOAD(FILE)
   (LET ((FILE (OPEN FILE :DIRECTIN :INPUT)))
     (UNWIND-PROTECT(IL:\\CML-LOAD FILE T *TERMINAL-IO*
                            (FIND-PACKAGE "XCL-USER"))
         (CLOSE FILE))))