14

への RPC 呼び出しに関する 2 つの関連する質問がありますYesod/Snap/Servant

  1. Haskell で書かれ、GHC でコンパイルされた関数がサーバー上にあるとします。

    add x y = x+y+42

どのようにすることができます:

  1. クライアントからこの関数を呼び出します (クライアントも Haskell で書かれており、 でコンパイルされていますGHCJS)。
  2. サーバー上で関数を実行し、
  3. 結果をクライアントに返しますか?

これをすべてタイプセーフな方法で行いますか?

たとえば、クライアントで次のようなものを書きたいと思います。

main= putStrLn $ show $ add 2 3

add 関数がサーバー上で実行されるようにします

Yesod/Snap/Servantサーバーで GHCJS を使用し、クライアントで GHCJSを使用してこれを行う最も簡単な方法は何ですか?

2)同様に、サーバー上で実行される「関数」を書きたい と思います。クライアントからタイプセーフな方法でgetPhaseOfMoon :: IO Phase呼び出したいと思います。getPhaseOfMoon

クライアントでこれを書くことができるように:

main= do 
   p<-getPhaseOfMoon
   putStrLn $ show p
   return ()

どれの

  1. サーバーに行きます
  2. サーバーは月の満ち欠けを調べます
  3. Phaseサーバーはクライアントに戻ります
  4. クライアントは JavaScript コンソールに月の満ち欠けを表示します。

質問

Yesod/Snap/Servant(サーバー) + GHCJS (クライアント)でこれを行うにはどうすればよいですか?

4

0 に答える 0