1

ReadArgs パッケージの更新に取り組んでいます。ArguableData.Text とFileSystem.Path.FilePathのインスタンスを追加するリクエストがありました。base前者はパッケージに入っているので大したことはありませんが、後者はsystem-filepath

ReadArgs-extそのため、孤立したインスタンスがぎっしり詰まったパッケージをリリースしたりReadArgs、外部依存関係を追加してパッケージを更新したりできます。どちらのオプションがより理にかなっていますか?

4

1 に答える 1

3

私の通常の経験則では、Haskell プラットフォームにあるパッケージのインスタンスを追加する傾向がありますが、グラフィックなどの移植性の低い要素は含まれません。これは と の両方filepathをカバーしtextます。コマンドライン引数のためにすでに外の世界を扱っているので、どちらも特にひどい追加のようには見えません。

孤児はかなりひどい問題につながる可能性があります。

私は自分のパッケージの 95% でそれらを使用しておらず、それらを使用するパッケージを避けるようにしています。

この時点で私が持っている 2 つの例外は、いくつかのモノイドが欠落していることと、すべてを からにダウングレードして、パッケージの階層全体を に依存させることを望まなかったため、ピックアップしたreducersでいっぱいのパッケージです。vector-instancesvectorSafeTrustworthy

孤立したインスタンスを追加したくなったときは、通常、WrappedMonad別のクラスを持ち上げたり下げたりするための newtype ラッパーのようなものを提供することで回避できます。

于 2012-09-13T08:07:57.080 に答える