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,4 @@
TEST= reload/null
EXTRA_OBJS=Null.o
TOP=../../..
include ../../build.mk

View File

@ -0,0 +1,11 @@
module Null ( resource, resource_dyn ) where
import API
import Data.Dynamic
import Prelude hiding (null)
resource = null
-- ! this has to be special: it can't be overridden by the user.
resource_dyn :: Dynamic
resource_dyn = toDyn resource

View File

@ -0,0 +1,12 @@
{-# OPTIONS -fglasgow-exts #-}
module API where
import Data.Dynamic
data Null = Null { a, b :: Int }
deriving (Typeable, Show)
null :: Null
null = Null { a = 42 , b = 1 }

View File

@ -0,0 +1,19 @@
import Plugins
import API
-- an example where we just want to load an object and run it
main = do
m_v <- load "../Null.o" ["../api"] [] "resource"
(m,v) <- case m_v of
LoadSuccess m v -> return (m,v)
_ -> error "load failed"
putStrLn ( show (a v) )
m_v <- reload m "resource" -- get a new version
v' <- case m_v of
LoadSuccess _ v -> return v
_ -> error "load failed"
putStrLn ( show (a v') )

View File

@ -0,0 +1,2 @@
42
42