Scheme usually works from the interpreter prompt, and the whole workspace environment is visible to all functions. Saving a program usually means saving the entire workspace. Hoever, there is a mechanism for loading programs from files, the (load) form. It is used as so:
(load "filename.scm")
One of the major deficiencies of standard Scheme is the lack of a comprehensive mechanism for controlling modules and namespaces. While several libraries exist to support them, none of them have become universally accepted, and the standards committee has persistently denied any requests to add such a functionality to the core language, on the basis that there is no universally recognized formal model for modules or namespaces.