úÎ/l.ÈQResolves the specified symbol to any given type. This means linking the package S containing it if it is not already linked, extracting the value of that symbol, 8 and returning that value. Because a call is made to , the behavior V is unpredictable (most likely an immediate crash) if the symbol is not actually of  the expected type. Because load0 has no a priori way to know the type, you must Q be certain to provide adequate type information in the caller, ie by giving a  type signature. BThree error conditions are detected and handled nicely, returning  F: The package does not exist; the package does not contain the given F module; or the module does not contain a symbol by the given name. OAs a limitation which may be relaxed in a future version, note that re-exports J are not chased; thus for example it is not possible to find the symbol  base:Prelude.sum-, because that symbol is actually defined in base:Data.List.  A tuple ( packageName,  moduleName,  symbolName), specifying a symbol in ' a package installed somewhere in ghc' s database.  packageName- is a full package name including a version,  ie " hello-1.0".; you can inspect these package names through  ghc-pkg.  moduleName& is a fully-qualified module name, ie "Hello" or  " Data.Dynamic".  symbolName# is an unqualified symbol name, ie "hello". "If the specified symbol is found,  its  value. Otherwise, . TResolves the specified symbol to a Dynamic. This means first parsing the installed W .hi file for the package containing the symbol to verify that the symbol is in fact O a Dynamic, then, if it is, linking the package if it is not already linked, J extracting the value of that symbol, and returning that value. Unlike load, this  function should be "perfectly safe"), not crashing even if the symbol is not " actually of the expected type. AFour error conditions are detected and handled nicely, returning  F: The package does not exist; the package does not contain the given P module; the module does not contain a symbol by the given name; or the symbol's type  is not . SAs a limitation which may be relaxed in a future version, note that re-exports are F not chased; thus for example it is not possible to find the symbol  base:Prelude.sum-, because that symbol is actually defined in base:Data.List. & (Also because that symbol is not a .)  A tuple ( packageName,  moduleName,  symbolName), specifying a symbol in ' a package installed somewhere in ghc' s database.  packageName- is a full package name including a version,  ie " hello-1.0".; you can inspect these package names through  ghc-pkg.  moduleName& is a fully-qualified module name, ie "Hello" or  " Data.Dynamic".  symbolName# is an unqualified symbol name, ie "hello". =If the specified symbol is found and of an appropriate type,  its  value. Otherwise, .        direct-plugins-1.1System.Plugins unsafeLoad loadDynamicbase Unsafe.Coerce unsafeCoerce Data.MaybeNothingJust Data.DynamicDynamicsymbolInterfaceTypeinterfaceTypeToStringinterfaceTypeIsDynamic encodeSymbolmoduleNameToInterfacePath hasPrefix