問題タブ [hsc2hs]

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 投票する
0 に答える
325 参照

c++ - hsc2hs C++ ヘッダー

一部の C++ ソースに対して、FFI を使用して Haskell 実行可能ファイルをビルドしようとしています。

次のような C ヘッダー (cstuff/foo.h) があります。

foo の実装は重要ではありません。何かを実行し、途中で somecppheader.h で宣言されたものを使用します。

Cabal ファイルの実行可能セクションは次のようになります。

Main.hsc は次のようになります。

この例では hsc2hs は実際には必要ありません。説明しようとしているエラーをトリガーするために使用されているだけです。

問題は、somecppheader.h が C++ 固有の構造を持つ C++ ヘッダーであり、foo.h のインクルードが C ヘッダーとしてコンパイルされているように見えることです。これは、クラス定義などの C++ 構造のために失敗します。

foo.h を gcc ではなく g++ でコンパイルする必要があることを hsc2hs または Cabal に伝えるにはどうすればよいですか?

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

haskell - hsc2hs タイプを特殊化する方法は?

hsc2hs を介して取得した型に SPECIALIZE プラグマを使用しようとしています#type

私はこのようなことを試しました:

parse error on input '#'その試みは(最初の) で失敗します#{type DWORD}

私はうまくいくことがわかった答えを出しましたが、よりクリーンなもの、より正確には、モジュールのコード全体に影響を与えないものを本当に望んでいます。

0 投票する
0 に答える
161 参照

linux - hsc2hs での ARM の問題に対する cabal クロスコンパイル

cabal-installARM 用にクロスコンパイルしようとしています。前提条件のパッケージを 1 つずつインストールすることになりました。このページに従って、いくつかのパッケージを構成、ビルド、およびインストールすることができました。

Haskell コードをクロスコンパイルするときに依存関係をインストールするにはどうすればよいですか?

network後にこのエラーが発生したパッケージに到達するまで./Setup build

この後、追加しました

構成に切り替えますが、今回は遭遇しました

どうやら私のarm-unknown-linux-gnueabihf-hsc2hsツールはホスト上で実行されていません。なぜこうなった?そして、たとえば、機能しarm-unknown-linux-gnueabihf-ghcているのに機能していないのはなぜhsc2hsですか? 最後に、元のnetworkパッケージをインストールするための回避策はありますか?

0 投票する
0 に答える
437 参照

haskell - Haskell と C FFI で作業するために hsc2hs でスタックを使用しますか?

file.hsc通常は を介し​​て前処理する必要があるスタック プロジェクトがありますhsc2hs file.hsc

代わりに実行stack buildすると、ファイルは前処理なしで通常の haskell ファイルとして読み込まれます。

質問:hsc2hsスタックを同時に使用する方法はありますか? 理想的には、実行するだけでstack build、すべてが「機能する」だけです。