Update examples

This commit is contained in:
Don Stewart
2005-09-03 04:45:14 +00:00
parent 5321754614
commit dff0363224
421 changed files with 19 additions and 9 deletions

View File

@ -0,0 +1,6 @@
module C where
import API
import qualified A
resource = let Test s = A.resource in Test { field = s }

View File

@ -0,0 +1,6 @@
TEST= load/thiemann2
EXTRAFLAGS+=-iprog
TOP=../../..
include ../../build.mk

View File

@ -0,0 +1,8 @@
module API where
data Test = Test {
field :: String
}
test :: Test
test = Test { field = "default value" }

View File

@ -0,0 +1,8 @@
module A where
import API
import qualified B
resource = Test { field = B.resource }

View File

@ -0,0 +1,3 @@
module B where
resource = "i'm in b"

View File

@ -0,0 +1,20 @@
import System.Plugins
import API
import A
main = do
-- compile C (A and B are already compiled)
status <- makeAll "../C.hs" ["-i../api"]
obj <- case status of
MakeSuccess _ o -> return o
MakeFailure e -> mapM_ putStrLn e >> error "failed"
-- should load C
m_v <- load_ obj ["../api","."] "resource"
v <- case m_v of
LoadFailure _ -> error "load failed"
LoadSuccess _ v -> return v
let s = field v
print s

View File

@ -0,0 +1 @@
"i'm in b"