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.