4 ms·
> therefore making source locations useless Just make source available on the file system. Mount it. Copy it. That's why Common Lisp has logical pathnames. Ty
by lispm 6y ago
> therefore making source locations useless
Just make source available on the file system. Mount it. Copy it.
That's why Common Lisp has logical pathnames. Typically one uses logical pathnames in source locations. When I set up my application on a machine, I define a translation table to point to the source code.
One can also just use standard pathnames and mount the source code to a standard path. That's how one also has set up Lisp systems in clusters. Every machine mounts the source in a standard path (or a logical path) and a client system will then have access to that source code. The image still has the recorded locations.
Btw., even Smalltalk stores its source code not in the image. The Smalltalk source code is stored OUTSIDE of the image in the file system and it has to have the files available and needs to know the location of these source files.
See: https://squeak.org/downloads/ https://squeak.org/downloads/
The Squeak/Smalltalk programming system consists of three parts:
* a virtual machine for your platform,
* both image and changes files of a particular version, and
* a sources file for the particular image file.
The source and changes files contain the source code of the running Smalltalk. An edit of source code will then lead to an entry in the changes file.
Smalltalk usually can decompile byte code, so one can edit code which has no corresponding source code, with some loss of original source information.