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

free variable references in interpreter.



    Date: Mon, 4 Nov 85 11:49 EST
    From: David C. Plummer <DCP@SCRC-QUABBIN.ARPA>
    Subject: free variable references in interpreter.
    To: Scott E. Fahlman <Fahlman@C.CS.CMU.EDU>,
	George J. Carrette <GJC@MIT-MC.ARPA>,
	Richard Mark Soley <SOLEY@MIT-MC.ARPA>,
	David C. Plummer <DCP@SCRC-QUABBIN.ARPA>
    cc: common-lisp@SU-AI.ARPA, gls@AQUINAS.THINK.COM

    I disagree with what GJC said, because of the reasons Soley gave, but I
    disagree with Soley's counter on aesthetic reasons.  Suppose there were
    a magic switch.  What would the end of GETHASH look like?
	    (return-from gethash
	      (if *pure-cl*
		  (values entry got-it-p)
		  (values entry got-it-p key-stored-in-hash-table)))
    That doesn't appeal to me.

Meta-point: I don't think we should care whether the IMPLEMENTATION code
is appealing or not, but whether code written in Common Lisp itself is
appealing.  I think the form above is fine.

I think that the usual way such a switch would be used would be used
would be one of:

(1) Some macro, like (IN-LOCAL-CL-DIALECT-SUPERSET (gethash . . .))

(2) "-*- Dialect: Symbolics-Common-Lisp -*-" in the file's attribute
    list.

(3) A global proclamation: (PROCLAIM '(SUPER-WINNING-LOCAL-DIALECT T)).

	-- Richard