Files
docs
scripts
src
testsuite
conf
dynload
eval
hier
iface
load
loadCLib
make
makewith
misc
multi
3plugins
api
prog
Main.hs
expected
Makefile
Plugin1.hs
Plugin2.hs
Plugin3.hs
objc
pdynload
pkgconf
plugs
reload
shell
unload
unloadAll
README
TIMINGS
build.mk
check.mk
eval.mk
foreign.mk
.gitignore
.travis.yml
AUTHORS
LICENSE
Makefile
README
Setup.lhs
TODO
config.guess
config.h.in
config.mk.in
config.sub
configure
configure.ac
install.sh
plugins.cabal
stack.yaml
shaniqua-plugins/testsuite/multi/3plugins/prog/Main.hs

14 lines
456 B
Haskell
Raw Normal View History

import System.Plugins
2005-04-24 08:51:33 +00:00
import API
main = do
let plist = ["../Plugin1.o", "../Plugin2.o", "../Plugin3.o"]
plugins <- mapM (\p -> load p ["../api"] [] "resource") plist
let functions = map (valueOf . fromLoadSuc) plugins
-- apply the function from each plugin in turn
mapM_ (\f -> putStrLn $ f "haskell is for hackers") functions
fromLoadSuc (LoadFailure _) = error "load failed"
fromLoadSuc (LoadSuccess _ v) = v