[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Basic Design Questions: function cells
- To: common-lisp@su-ai.ARPA
- Subject: Re: Basic Design Questions: function cells
- From: berman@isi-vaxa.ARPA (Richard Berman)
- Date: Wed, 19 Feb 1986 16:43:00 -0000
- Cc: Alan Snyder <snyder@hplsny.ARPA>
I believe these arguments were comparing storing function definitions in
dedicated cells to storing them in property lists. As far as I know no
one has argued that having functions and variables in separate name spaces
leads to a more or less efficient implementation than having them in the
same name space.
My impression was that having a separate function cell can be more efficient
because it allows function invocation to be compiled into a direct jsr (or
jump) through the function cell, with no explicit check that the function is
defined (undefined functions are represented by a special undefined-function
function). Using the same cell for functions and other variables would
require checking that the cell contains a function before calling it
(otherwise you might transfer control to a random location).
The function cell can also hold the lambda expression for an interpreted
function, so you can't do a blind JSR anyway.