At any given time, you are "in" one particular package, that
indicated by @$s.package
: All variables which you
create -- and all functions which you define -- are placed
in this package, and all functions and variables "in" that
package are available to you for unqualified access.
In addition, you have at any given time some set of packages
which are considered to be "available" to you. (CommonLisp
specifies that there should be a single such set, but it is
a single-user system, and this does not seem terribly
practical in a multi-user system, so Muq instead provides
one such set per user, optionally per job.) This set is
indicated by @$s.lib
, and may be listed by doing:
@$s.lib ls
You may create a new set of "available" packages by creating
a new object and setting @$s.lib
to point to it (if
you want the effect to be permanent you should also set
~$s.lib
to it) and then entering the desired packages
into it. You should not normally have occasion to do this,
however.
As you switch from project to project (at the least) you
will usually switch from package to package, which is
normally done using the inPackage
command, which
finds the package with the given name (creating it if no
such package exists in @$s.lib
points
@$s.package
to it.
The interactive MUF prompt, which we give as "Stack:" in our examples, is actually the name of the current package.
Go to the first, previous, next, last section, table of contents.