Import hs-plugins cvs

This commit is contained in:
Don Stewart
2005-04-24 08:51:33 +00:00
commit 887fa59389
494 changed files with 23721 additions and 0 deletions

View File

@ -0,0 +1,5 @@
TEST=pdynload/spj1
TOP=../../..
include ../../build.mk

View File

@ -0,0 +1,17 @@
module Plugin where
-- user doesn't import the API
-- and provides a polymorphic value
-- import API
-- resource :: Interface
--
-- should pass type check, and dump core
--
-- resource :: Num a => a
-- import API
resource :: Num a => a
resource = 7

View File

@ -0,0 +1,9 @@
module API where
-- data Interface = Interface { field :: Int }
-- newtype Interface = Interface Int
type Interface = Int

View File

View File

@ -0,0 +1,17 @@
import 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

View File