libera/#lisp - IRC Chatlog
Search
18:00:34
masinter
you're probably better off modeling the Lisp call stack as a linked list of growable arrays
18:12:28
aeth
White_Flame: partial counterpoint... what's a defun? no defuns, only lambdas at this point of the compiler/interpreter
18:27:24
pjb
theseb: when we implement lisp, there are two sides to environments: a compilation-time side and a run-time side. The environment objects don't need to be the same in both sides, and if you want to optimize run-time, that may be quite different.
18:28:30
pjb
theseb: basically at compilation time you want to keep all the semantic information about the variables and operators. At run-time, you only need a frame per function call, and the indices in the frame of each variable or operator.
18:31:58
pjb
theseb: consider a simple recursive function. THere's one compiler-time environment description, one function code, but at run-time, you will need several frames to store the recursive invocations.