rts-loader-0.0.0.0: src/Example.hs
import System.Loader.RTS
import System.Process
import Distribution.Verbosity
import Distribution.Package
import Distribution.Simple.Configure
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Configure (getPersistBuildConfig)
main :: IO ()
main = do
lbi <- getPersistBuildConfig "dist"
let verbosity = normal
comp = compiler lbi
pkg_db_stack = withPackageDB lbi
prog_conf = withPrograms lbi
pidx <- getInstalledPackages verbosity comp pkg_db_stack prog_conf
loader_exe <- loaderExecutablePath
loader_args <- loaderInvocation (SymbolIdentifier "Lib" "main") [] <$>
(resolveLibraryInfo comp [WayDyn] $
lookupLibraryInfo pidx $
PQName $ PackageName "foopkg")
print =<< rawSystem loader_exe loader_args