A stand-alone Prolog program is a single, standard, executable file that can be considered to be an extended version of the Development System, with your Prolog and foreign code being pre-loaded into it. This approach has several advantages as compared with the saved-state approach:
gdb(1)to debug your foreign code at the source level.
make(1)can be easily used to construct your program, ensuring that everything is up-to-date. This is particularly useful if you are using a lot of foreign code.
The disadvantage of linking, in comparison with using a saved state, is that the stand-alone program will require more disk space than a saved state, since it contains the Development Kernel and the user's foreign code.