[comp.sys.xerox] PRISMS MACRO FUNCTION SETF

ADRE@gec-m.rutherford.ac.UK (Tony Anderdson) (10/27/87)

 
For the attention of : Anybody
 
      The  Prism  code  uses  a macro called SETF. However, this macro
appears not to be defined in any of  the  source  files  loaded  which
create  Prism.  Yet  the Prism package does contain a file named SETF,
which appears not to be loaded ( the file is a compiled version ).
 
      Could anybody please help by specifying,
 
            a) How this macro works,
 
            b) The source code for the SETF file in the Prism package.
                                        
                                        Richard Relf
                                        Admiralty Research Establishment
                                        Portland
                                        Dorset
                                        UK

SCHMIDT@SUMEX-AIM.STANFORD.EDU (Christopher Schmidt) (10/29/87)

    From:    Tony Anderdson <ADRE%gec-m.rutherford.ac.uk@NSS.Cs.Ucl.AC.UK>
    Date:    Fri, 23 Oct 87 14:55 BST
    Subject: UNKNOWN INTERLISP-D FUNCTIONS

    Whilst  converting  a  program from Interlisp-D to Common Lisp I
    came across the following functions :-
		  i) READ' ,
		 ii) READBQUOTE and
		iii) READVBAR.
    Since these functions are not mentioned in the documentation for [...]
					    Richard Relf

    From:    Tony Anderdson <ADRE%gec-m.rutherford.ac.uk@NSS.Cs.Ucl.AC.UK>
    Date:    Tue, 27 Oct 87 15:53 GMT
    Subject: PRISMS MACRO FUNCTION SETF

    The  Prism  code  uses  a macro called SETF. However, this macro
    appears not to be defined in any of the  source  files  loaded  which [...]
					    Richard Relf

The WHEREIS module in Koto reveals that the three functions referenced
in the first letter were defined in the system modules ASSIST, COMMON,
and COMMON, respectively.  They are part of the reader and should not
be called directly in user code.  Instead, user code should set up
special readtables and pass them to READ.  [It is a pity that Common
Lisp lacks an equivalent of RSTRING; similar to READ, but returning
a string rather than a symbol.]

I imagine that the Koto system you are translating used the lisplibrary
module CMLSETF (a subfile of the CML module).  In Lyric, this module
is unnecessary as SETF is defined in the CL package.  You can change
your code to use CL:SETF or simply IMPORT it from CL into the IL package
before loading your code that uses it.
--Christopher
-------