問題タブ [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.

0 投票する
1 に答える
275 参照

macos - OS X 10.9.1 Mavericks で localhost:3030 にアクセスできない

を使用して GHCJS VM をインストールし、 と の両方でvagrant"Hello World" の例を正常にコンパイルして実行しました。でもやってみるとnodejs

localhost:3030/<path to jsexe>アクセスできません。出荷された例も同様です。

ポートフォワーディングが機能していないようです。Vagratn経由でインストールされbrewます。

0 投票する
1 に答える
170 参照

ffi - GHCJS: setTimeout($c, $1);: 無効なプレースホルダー、関数の型をチェック: "$c"

提案どおりに VM をインストールし、今この記事を読んでいます。今、私は最初にFFIの例を見ています。ffi.jsexe/フォルダー ( 内)が見つからないghcjs-examples/weblog/ffiので、自分でコンパイルしようとしました。しかし、次のエラーで失敗します:

setTimeout($c, $1);: invalid placeholder, check function type: "$c"

にあるものを簡単に思い出してffi.hsください:

申し訳ありませんが、私は Haskell と FP にまったく慣れていないので、今のところ魔法のようなものがあります。それ自体には引数が 1 つしかないため意味があり、実行されるコードがないため、 に置き換えまし$cた。コンパイルはできますが、ブラウザで開くと、すべての数値が即座に出力されます。また、少し前の質問があります。何らかのハンドラー (整数値) を返し、コールバック関数とミリ秒単位の時間を受け取りますよね? では、なぜ、たとえば ではなく、この型シグネチャを持っているのでしょうか?nulldelaysetTimeoutdelayInt -> IO ()IO () -> Int -> IO Int

主な問題は、なぜコンパイルを拒否するのかということです。この例は時代遅れで、何かが変更されていghcjsますか?

0 投票する
1 に答える
285 参照

haskell - GHCJSでファイルを読むことはできますか?

HTML5 では、標準のファイル API が導入されました。GHCJSはそれにアクセスできますか? で標準の Haskell IO 機能を使用できますSystem.IOか?

0 投票する
2 に答える
181 参照

haskell - ghcjs-dom-0.0.7 のインストールに失敗しました - src/GHCJS/DOM.hs:3:14: サポートされていない拡張子: JavaScriptFFI

ghcjs-dom に依存する Leksah のインストールに問題があります。

この正確なパッケージをインストールしようとしたときに正確に得られるものは次のとおりです。

私の設定:

GHC 7.8 用のいくつかのパッチが存在するようですが、それらの使用方法がわかりません。

0 投票する
1 に答える
712 参照

javascript - NodeでGHCJSプログラムを実行するには変数が多すぎる

node.jsを使用して、GHCJSで構築されたプログラムを実行しようとしています。ただし、次のエラーが表示されます。

  1. ノードで許可される変数の数を増やすことは可能ですか?
  2. より多くの変数を許可するJSファイルを実行するためのより良いユーティリティはありますか
  3. 変数の数を自動的に削減できる最適化ツールはありますか?

これは機械で生成された JS であるため、手動で処理して変数の数を減らしたいとは思いません。

どんなアイデアでも大歓迎です。

0 投票する
1 に答える
6060 参照

haskell - オーバーロードされた文字列の使用

OverloadedStrings拡張機能は非常に便利ですが、いくつかの欠点があります。次の関数定義を検討してください。

この場合、リテラル値を渡したい場合OverloadedStringsは、有効になっているときに型シグネチャを明示的に追加する必要があります。

この必要性の理由は非常に明白です。OverloadedStrings厳密な型シグネチャを持つ関数にリテラル値を簡単に渡せるように設計されていると思います。これにより、開発者は値が必要なpack場所に sを書く必要がなくなります。Text

問題は、たとえば、型シグネチャのないすべての文字列リテラルをText、または? にデフォルト設定する方法はありますかString? または、コードを一般的な関数 (ToJSString型制約付き) と、引数に厳密な型シグネチャを持つ任意の関数に分割する必要がありますか?