3 ms·
Aren't SBCL and Chez executables basically just dumps of an environment?
by nerdponx 4y ago
Aren't SBCL and Chez executables basically just dumps of an environment?
- pfdietz 4y agoYou need all that with SBCL, because you can call all that from a running Lisp program. Perhaps you are asking for that to be available as a library? The size isn't very large so it's not big a deal.
- nerdponx 4y agoI'm not asking for it as such, but the claim that Lisps now produce "executables" is sometimes still not quite what people have in mind. It's still a whole bundled Lisp runtime, not unlike using PyInstaller to bundle an entire Python runtime in an executable.
- lispm 4y agoMost languages need some runtime. In the case of Lisp it starts with the basic memory management, since Lisp by default needs a garbage collector. This memory management is usually not provided by the operating system. It needs a basic interface to some OS stuff, threads, etc. A Lisp executable then can be one file which includes a runtime and the (compiled) Lisp code. One could also have these as two separate files. The there are two basic ways to provide the Lisp code: it's either just compiled code or a memory image of containing the code. SBCL uses the memory image approach. ECL (Embeddable Common Lisp) uses the 'compiled code' approach. ECL compiles to C and then adds the compiled C code to its runtime.
- TeMPOraL 4y agoThe concept of (development) environment as separate from the program is alien to Lisp.