問題タブ [ghcjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - ghcjs + ナトリウム: しばらくするとイベントが発生しません
更新: ghcjs に問題があります: https://github.com/ghcjs/ghcjs/issues/296
私はghcjsとsodiumで遊んでいますが、3秒後にアプリケーションがイベントを発行しなくなりました。
最小限の例:
- ボタン: イベントを発行する
- カウンター動作: ボタンのクリック数をカウントします
- a div: カウンターの動作を表示します
- 3 秒後、div は更新されなくなります
- ページをリロードすると、カウンターが再び更新されます - 3 秒間
完全な例はhttps://github.com/j-keck/ghcjs-sodiumにあります
ありがとう
haskell - この Reflex コードによって Dynamics が同じ値で無期限に起動するのはなぜですか?
この小さなプログラムの目的は、3 つのボタンを表示することです。3 番目のボタンのラベルは最初は「0」で、その後は最後にクリックされたボタンのインデックスになります。今のところ、ボタンの数と他のボタンのラベルは一定です。
この自己完結型のファイルを ghcjs でコンパイルし、Main.jsexe/index.html をブラウザーにロードすると、2 つの traceDyns がループで起動し、両方とも値が常に 0 であることがわかります。私が理解している限り、何も起こらないはずです。 _el_clicked がシステムの残りの部分にフィードするため、ボタンがクリックされるまで。
また、mapDyn (fst . head . Map.toList)
選択したボタンのインデックスを抽出するために使用していることに注意してください。これが正しいかどうかはわかりませんが、どちらにしても無限ループの原因はわかりません。
haskell - ghcjs-jquery は base-4.8.0.0 と互換性がありません。どうすればよいですか?
ghcjs-jquery は base-4.8.0.0 と互換性がありません。何ができますか?
詳細:
ghcjs - ghcjs-dom-hello world がマウスクリックに反応しない - ghc 7.10.1
この例は、マウスのクリックに応答する必要があると思います: https://github.com/ghcjs/ghcjs-dom-helloですね。しかし、Firefox と Chrome で GHC 7.10.1 を試してみると、ページをクリックしても何も起こりません。
何か案は ?GHC 7.8.4 ではまだ試していません。でも私はする。
haskell - GHCJSでサンプルプログラムをコンパイルするとLensが見つからない
次のエラーが表示されます。
このファイルを次のようにコンパイルするとghcjs aff.hs
:
エラーghcjs aff.hs -v
:
ファイルはサンドボックス化されたディレクトリにあります。でレンズを取り付けましたcabal install --ghcjs lens
。適切にインストールされたようです:
haskell - ghcjs で複数行の外部インポートを行うにはどうすればよいですか?
GHCJS で複数行の外部インポートを行うにはどうすればよいですか? 複数行にまたがる JavaScript のブロックがあります。
そして、次のようなエラーが表示されます。
文字を指し\
ます。何が起きてる?
haskell - Ghcjs、Haste、Elmなどを使用してHaskellフロントエンドをサーバー側でレンダリングすることは可能ですか?
Haskell は素晴らしい機能を提供すると思います。Web 開発にも適しています。ただし、私が見逃している機能が 1 つあります。サーバー側のレンダリング。その理由は、Google のインデックス クローラーと、モバイル デバイスでのパフォーマンスを向上させるための事前レンダリングです。
Ghcjs、Haste、Elm、または他の Haskell->JS コンパイラを使用してサーバー側で Haskell フロントエンドをレンダリングすることは可能ですか?
haskell - GHCJS クライアントから Yesod/Snap/Servant への Type safe RPC 呼び出しの例
への RPC 呼び出しに関する 2 つの関連する質問がありますYesod/Snap/Servant
。
Haskell で書かれ、GHC でコンパイルされた関数がサーバー上にあるとします。
add x y = x+y+42
どのようにすることができます:
- クライアントからこの関数を呼び出します (クライアントも Haskell で書かれており、 でコンパイルされています
GHCJS
)。 - サーバー上で関数を実行し、
- 結果をクライアントに返しますか?
これをすべてタイプセーフな方法で行いますか?
たとえば、クライアントで次のようなものを書きたいと思います。
add 関数がサーバー上で実行されるようにします。
Yesod/Snap/Servant
サーバーで GHCJS を使用し、クライアントで GHCJSを使用してこれを行う最も簡単な方法は何ですか?
2)同様に、サーバー上で実行される「関数」を書きたい
と思います。クライアントからタイプセーフな方法でgetPhaseOfMoon :: IO Phase
呼び出したいと思います。getPhaseOfMoon
クライアントでこれを書くことができるように:
どれの
- サーバーに行きます
- サーバーは月の満ち欠けを調べます
Phase
サーバーはクライアントに戻ります- クライアントは JavaScript コンソールに月の満ち欠けを表示します。
質問
Yesod/Snap/Servant
(サーバー) + GHCJS (クライアント)でこれを行うにはどうすればよいですか?
haskell - GHCJS で IO () を JSVal に変換する方法
GHCJSでコンパイルされたプログラムで定期的に効果的な計算を実行したいGHCJS.DOM.WindowTimers.setInterval
のですが、JSVal
asパラメータが必要です。私を に変えるための指針を誰か教えてもらえますIO ()
かJSVal
?
編集:
GHCJS.Foreign.Callback.asyncCallback
と を使用して型を一致させることができましたがGHCJS.Types.jsval
、最終的に実行時エラーが発生しました。Erik がここのコメントで提案したように、GHCJS チャネルの Luite は、このタスクにスレッドを使用することを提案しました。これは、対応する質問で説明されています