言語を学びながら、Haskell でプログラムを開発するのに数日を費やしました。Arpack (Fortran ライブラリ) または Arpack++ (Arpack の C++ ラッパー) を呼び出す必要があることに気付きました。Haskell バインディングを使用した Lanczos メソッドの適切な実装が見つかりません。経験豊富な Haskell プログラマーで、これがどれほど難しいかについて意見を持っている人はいますか?
「.so」(「共有オブジェクト」) バージョンの libarpack と libarpack++ を Ubuntu のリポジトリからインストールできましたが、それで十分かどうかはわかりません。最終的にはソース コードから Arpack++ をビルドする必要があると思いますが、これは可能ですが、多くのビルド エラーが発生しているため、時間がかかります。それらを生成するために使用されたヘッダーファイルのバージョンを正確に知らずに、「.so」ファイルだけを使用する方法はありますか?
最もよく維持されている Haskell/C ブリッジのように見えるので、GreenCard の使用を検討しています。ただし、ドキュメントがあまり見つからないので、C++ もサポートするかどうか疑問に思っています。
また、プログラムを Python で書き直し、scipy を使用して Arpack を呼び出す必要があるかどうかも考え始めていますが、すでに Haskell の作成に数日を費やしています。私も Haskell がとても好きなので、これがうまくいくことを願っています。私の全体的な質問はこれだと思います:Haskellでこれを機能させるには何が必要ですか?
どうもありがとう。