[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: EB at MIT-ML
- From: Robert W. Kerns <RWK at MIT-MC>
- Date: Sun, 2 Dec 79 04:39:00 GMT
- Cc: BUG-LISP at MIT-MC
- Original-date: 1 December 1979 23:39-EST
From: Date:
Date: Thu, 12 Jan 79 19:20:21 GMT
Original-Date: 12/01/79 15:20:21 EDT
Subject:
From: EB at MIT-ML
To: (BUG LISP) at MIT-ML
Are the following supposed to work differently in the interpreter
and compiler, as they do?
(defun f macro (m)
(cond ((eq (cadr m) '+) 'plus)
((eq (cadr m) '-) 'difference)
(t (error))))
(defun foo+ (x y) ((f +) x y))
(defun foo- (x y) ((f -) x y))
In the Interpreter, PLUS or DIFFERENCE is an unbound variable. In
the compiler, the function PLUS or DIFFERENCE is JCALLed, or
so the LAP claims.
This is indeed not supported in the interpreter. No plans to change it exist.
NIL will probably support it, but I'm not convinced it's a win.