Re:Using SBCL Common Lisp as a Dynamic Library
by reikonomusha on Sunday April 17, 2022 @04:09AM
(#31059359)
As far as I'm concerned, as a Lisp programmer, code is data. :)
Yes, and what exactly constitutes "dead code"? Tree shakers rely on heuristics that can fail in practice. There is provably no way to remove functions from a Lisp image and guarantee your application to work. LispWorks has a "tree shaker", but has umpteen options to tame it so your application doesn't inadvertently break.
Fortunately, it is possible to remove these functions if you, an application developer, so please. Nothing stops you. It's not even difficult. But SBCL has not implemented these (potentially fallible) heuristics for you, because (and only because) an insignificant number of users would find shaving a little binary size off to be valuable at the expense of program correctness.
And assuming he doesn't want what he wants is kind of in bad taste. You don't know his requirements.