fay-0.19: tests/ffimunging.hs
module FfiMunging where
import FFI
data Munge a b = Fudge a b
data Foo = Foo (Munge [String] [Int])
munge :: Foo -> Foo
munge = ffi "%1"
sponge :: Munge [String] [Int] -> Munge [String] [Int]
sponge = ffi "%1"
main = do
case munge (Foo (Fudge ["a","b"] [1,2])) of
Foo (Fudge xs is) -> do printS xs
printI is
case sponge (Fudge ["a","b"] [1,2]) of
Fudge xs is -> do printS xs
printI is
printS :: [String] -> Fay ()
printS = ffi "console.log(%1)"
printI :: [Int] -> Fay ()
printI = ffi "console.log(%1)"