3 ms·
Why not just use a smarter compiler/linker that trims out unused library code?
by klipt 7y ago
Why not just use a smarter compiler/linker that trims out unused library code?
- gmfawcett 7y agoSome CL implementations do this ("tree shaking", as it is called). But some of the more popular open-source implementations (SBCL, Clozure CL) do not.
- darkpuma 7y agoIt can also be error prone. Analysising arbitrary lisp code to see which functions could conceivably ever be called isn't as trivial as it might first seems.
- dTal 7y agoCan you elaborate? It seems trivial - just scan every function call. Surely it's not possible to call a function without typing its name somewhere? (Obviously if there's funny business with 'eval' this won't work, but then it reduces to the halting problem in the general case so that's fine. Most programs don't use eval.)