33

私は朝と午後の大部分を Haskell の GUI フレームワークで遊んでいました。視覚化と対話機能が必要であり、Haskell でコア機能を記述してフロントエンドにパイプアウトするのが好きではないためです。別の GUI で。すべてを 1 つの言語から行うことをお勧めします。その大部分は、ソース コードのコンパイルとパッチの適用、またはあいまいなコンパイル エラーのグーグル検索に費やされています。

SO の質問を読んだり、haskell.org を読んだり、ドキュメントを読んだりするのに多くの時間を費やしました。私が遭遇したのは、時代遅れの情報や文書化されていない情報が非常に大量にあることです。この3つに要約できます。

  1. Gtk+ バインディングの上に構築された多数のオプション。私は Gtk+ をあまり気にしません。特に OS X では、Gtk+ を見るのが非常に不快であることが主な理由です。自分。特に、私が作成したプログラムを他の人に利用してもらいたい場合。

  2. wxHaskell は安定しており、非常に簡単にインストールできますが、既存のチュートリアルの多くは wx-0.1x 用のようであり、wxWidgets 2.9.x ドキュメントを wx-0.90.x にブリッジするための規則は非常にむらがあり、理解するのが困難です。それらが存在する場合でも。

  3. ほとんど放棄されているように見えるqtHaskell(間違っていたら訂正してください)は、1年前のパッチを適用した後にGHCの新しいバージョンでのみコンパイルし、すぐにコンパイルエラーになることを示す大量の警告を吐き出します. GHCの新しいバージョン。

実際、私は Java の Swing に対する Haskell の回答を探しています。堅牢で、保守され、十分に文書化されており、使い始めるのが簡単で、ルック アンド フィールをネイティブにしようと試み、GHC の開発ペースについていくことができ、放棄されるリスクが高くないライブラリです。これはまさにゼロの GUI フレームワークのようですが、GUI フレームワークに関連する「公式」リソース/ウィキ/ページ/ドキュメントのほとんどはひどくメンテナンスされていないようです。見つかりませんでした。OS X の最新バージョンで動作する限り、フレームワークがクロス プラットフォームであることをあまり心配していません。

繰り返しますが、haskell.org や WikiBook へのリンクを送ってくれる人を探しているわけではありません。私はそこに行ったことがありますが、見たものが好きではありませんでした。そこにある情報のほとんどはあまりにも古くなっているため、作業が増えるだけで、減ることはありません。

特に Haskell のような小さなコミュニティを持つ言語の場合、私の「要求」は少し極端であることに気づきましたが、誰かが私を助けてくれることを望んでいました. 当面は、成功するか死ぬまで、wxHaskell や qtHaskell を乗り切るつもりです。

私が不機嫌そうに見えたり、疲れ果てていたりしないことを願っています。

4

3 に答える 3

4

wxHaskell は良いです、はい、そして私の頼りになる GUI ミドル レベル ライブラリです。新しいバージョンのドキュメントの前にコードを更新することに重点が置かれてきたことは認めます。

それに加えて、機能的でリアクティブなプログラミングの最新の楽しいものについては、アクティブに維持されているリアクティブなバナナを探しています。これには、 Heinrich Apfelmus自身がここに来て質問に答える可能性があるという追加の利点があります。

于 2012-12-17T23:46:16.517 に答える
3

あなたの痛みが分かります; この答えは、十分に良いかもしれない、そしておそらくあなたの検索に役立つかもしれないいくつかの選択肢を提供する試みです。

まず、ConcurrentCleanという言語があります。Haskellに似ていると思われ、GUIをサポートし、実際のアプリケーションを作成することを目的としています。それはいくつかの点で異なります。たとえば、そのI / Oは、モナドではなく一意のタイプに基づいています。これは、私に関する限り、良いことです:)。ここにリンクがあります: http ://wiki.clean.cs.ru.nl/Clean

次に、JVMにコンパイルされたHaskellを探し回って、JavaライブラリであるClojureに便乗することを期待しました。サイコロはありません。私が見つけたのは、その欠如と課題を議論するSOスレッドでした: JVM上のHaskell?

ただし、そのスレッドから、他に2つのオプションが提示されました。1つはフレーゲです: http ://code.google.com/p/frege/

もう1つはCALです: https ://github.com/levans/Open-Quark

Haskellには関数型リアクティブプログラミングに関する作業もあります。GUIのようなものを有効にすることになっていますが、実際にGUIを利用できるかどうかは別の問題です:http: //www.haskell.org/haskellwiki/Functional_Reactive_Programming

悲しい。ここにJVMと.NETがありますが、Haskellにはzilchがあります。それより悪いです。.NETは、有望な実装を捨てるという驚くべき傾向を示しています。IronScheme、IronLisp、IronHaskellはどうなりましたか?私が知る限り、すべてが死んでいます。

良くない :(

于 2012-12-15T00:33:51.413 に答える