If you mean to ask "how can a non-dynamic language like C do garbage collection", then the answer is that dynamic languages can be implemented in C; all languages are essentially abstractions of ASM. Otherwise, I don't know the particulars of how GCL works.xibalba wrote:I noticed that GNU Common Lisp outputs C code. How would a binary generated from that C code manage garbage collection?
It will become clearer after you read about macros, but basically the lambda-list (x) doesn't need to be quoted because it's not evaluated directly. Rather, when it's passed to a macro (i.e., defun) it's transformed into valid s-expressions.^From ANSI Common Lisp. How is (x) in the above expression a list when it isn't quoted? Is it a list because it isn't a number or string (no double quotes)? Then how is it also not a symbol? Are all such variables defined by defun lists? Or should I just keep reading as it will be explained to me later on?
That's my understanding, anyway.