我已安装:
我正在尝试编译
-- test.hs
module Main where
import FFI
main = ffi "alert('hello world');"
与
fay test.hs
获得
fay: unable to resolve qualified names ffi
请注意,我能够使用fay-jquery,fay-text等编译内容。完整的源文件可以编译和运行(使用fay-base)并执行我希望它们在执行时执行的操作。但是当我尝试在任何一个中使用ffi
时,我会收到此错误。
我不确定还有什么要提的?我正在使用ghc 7.6.3,运行Ubuntu。
帮助将不胜感激:)
答案 0 :(得分:3)
导入Prelude并使用FFI为任何内容添加类型签名。
module Console (main) where
import Prelude
import FFI
main :: Fay ()
main = putStrLn (showInt (fib 10))
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n - 1) + fib (n - 2)
showInt :: Int -> String
showInt = ffi "%1+''"
编译。
评论import Prelude
会返回错误:src/console.hs:7:8: Not in scope: putStrLn'
等。
评论showInt :: Int -> String
会返回错误:fay: your FFI declaration needs a type signature: showInt = ffi "%1+''"
解决这些问题并再次发挥作用。
我们的Fay苏维埃的光荣领袖告诉我,如果你的劳工护照上有正确的印章,import Prelude
就不再需要了。