import System.Plugins import API src = "../Plugin.hs" wrap = "../Wrapper.hs" apipath = "../api" main = do status <- make src ["-i"++apipath] case status of MakeSuccess _ _ -> f MakeFailure e -> mapM_ putStrLn e where f = do v <- pdynload "../Plugin.o" ["../api"] [] "API.Interface" "resource" case v of LoadSuccess _ (a :: Interface) -> print $ a -- will crash LoadFailure es -> putStrLn $ show es