1

私はインストールしました:

  • fay-0.19.0.1
  • fay-base-0.19

そして、私はコンパイルしようとしています

-- 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、このエラーが発生します。

fay-jquery、fay-dom、および ffi を使用するその他のパッケージは、インポートするとうまく動作するようです。

他に何を言うべきかわかりませんか?私はghc 7.6.3を使用しており、Ubuntuを実行しています。

助けていただければ幸いです:)

4

1 に答える 1

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 Preludeerror: が返されますsrc/console.hs:7:8: Not in scope: putStrLn'

コメントアウトするとshowInt :: Int -> Stringエラーが返されます:fay: your FFI declaration needs a type signature: showInt = ffi "%1+''"

これらの問題を修正して、もう一度試してみてください。

フェイ・ソヴィエトの輝かしい指導者たちから、import Prelude労働パスポートに適切なスタンプが押されていれば、もはや必要ないと言われています。

于 2014-01-25T18:40:15.830 に答える