2012-03-13 3 views
9

私の質問は、Peter Kriensの投稿によって引き起こされます:What If OSGi Ran Your Favorite LanguageHaskellはOSGiを実装できますか?

したがって、HaskellはOSGi specificationsを実装できますか?そうでない場合、なぜですか?

+0

涼しい、関連記事__ダイナミックなアプリケーションからの地面からの__ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.1406&rep=rep1&type=pdfハスケルのYiエディタを「動的」から地面を上に。 – drozzy

+0

あなたは、単一のHaskellアプリケーション内でOSGiを実装すること、または他のOSGiインスタンスにDistributed OSGi uServicesを公開することについて話していますか? – oconnor0

+1

私はそれが答えの一部であると考えています。これは、これが行えるさまざまな方法や、それが意味することを、それぞれのプラスやマイナスとともに探求するでしょう。 – drozzy

答えて

1

私は、HaskellがOSGi仕様(質問2)を実装するために使用できるかどうかを問わず、Haskell用のOSGi(質問1)があるかどうかを尋ねてきたと思います。

約1:間接指定の複数のレイヤーを置かなければ可能ではないと私は考えています。プログラミング言語にOSGiを実装するために必要な最も重要な言語機能は、実行時にモジュールを動的にロードおよびアンロードすることです。さて、OSGiは簡単な方法でこれを達成するためにJavaクラスローダーを使用する巧妙な方法ですが、コードの開発者はそれに気付かずに "import com.mypackage ..."を引き続き使用します。

私は十分なHaskellについてはわかりませんが、HaskellはHaskellインタープリタの内部に入る外部ライブラリのフックポイントを持っているので、読み込みモジュールを傍受して別のhaskellファイルに動的に再ルーティングすることはできません。

約2:言語サポートを妥協するつもりはないが、文字列リテラルでモジュールを読み込むことができれば、OSGiのコアアイデアを実装し、Haskellで使用することは、素晴らしい小さなプロジェクトになります。

(OSGiに近い)プラグインフレームワークの好きな実装はJava Plugin Frameworkです。予想よりも少ないコード。

+0

Java Plugin Frameworkの素晴らしいヒント - 私はそれについて知りませんでした! OSGiが許可されていない私の将来のプロジェクトのための素晴らしい小さなlibのように見えます。 – drozzy

+0

OSGi(最も切り離されている部分)の最も冷たい面はサービスです。 JPFはApache Felix OSGiフレームワークの約半分のサイズですが、これらの追加バイトのために正式な標準化、並列バージョン化、成長するエコシステムとサービスが得られます。 –

関連する問題