私はハックパッケージ lrucache のメンテナーです。Binary
最近、とのインスタンスを追加する機能のリクエストを受け取りましたNFData
。どちらも便利なものであり、原則として、これらのインスタンスに問題はありません。
ただし、どちらも新しいパッケージの依存関係を導入するため、パッケージの依存関係リストをできるだけ最小限に抑えたいと考えています。これを処理する健全な方法はありますか?lrucache
データ構造が実装できる便利な型クラスを提供し、その恩恵を受けるパッケージは、おそらく 20 をはるかに超える数のパッケージがあります。
明らかに、それらすべてを依存関係として追加することは非スターターです。しかし、他に何ができるでしょうか?
さまざまなインスタンスのコンパイルを有効にするフラグを lrucache.cabal に追加できます。必要な場合を除いて、依存関係リストを最小限にするという点で、これは機能します。しかし、ビルド依存セクションでビルド フラグを指定できないため、現実の世界では恐ろしいことです。したがって、特定のフラグを持つパッケージに依存することはできますが、その依存関係を指定することはできません。これはすぐにほとんど役に立たなくなります。
孤立したインスタンス パッケージの束を作成できます。これには、これらのインスタンスへの依存関係を build-depends セクションで指定できるという利点があります。その主な欠点は、hackage に大量の余分なパッケージを追加し、それらを個別のパッケージとして維持する必要があることです。
他に何ができますか?どうするのが正解?