For a package pkg, pkg::name returns the value of the
exported variable name in namespace pkg, whereas
pkg:::name returns the value of the internal variable
name. The package namespace will be loaded if it was not
loaded before the call, but the package will not be attached to the
search path.
Specifying a variable or package that does not exist is an error.
Note that pkg::name does not access the objects in the
environment package:pkg (which does not exist until the
package's namespace is attached): the latter may contain objects not
exported from the namespace. It can access datasets made available by
lazy-loading.