最近見かけたHaskell library: salve, witch
Taylor Fausak(@tfausak)さんによる2つ。
salveはsemantic version numberを表現するデータ構造及びそれらに関する処理(パーサ、フォーマッタなど)を提供するライブラリ。npmの表記によるversion constraint文字列のパーサも提供する(なぜかCabal表記のパーサはないようだ)
似たようなパッケージは多いが、それらとの比較がドキュメントに詳細に説明されている。dependencyがbaseのみで、使い勝手の良さそうな印象。
witchはデータ型変換機能を示すCast typeclassを定義する。Rustにおけるstd::common::From traitに相当するもの、とのこと。
こちらも似たようなライブラリやtypeclassは既に数多くありそうな気がするが、どうもいまいちしっくりくるものがなかったらしい。
Cast a b
instanceはcast :: a -> b
という変換関数を提供する。基本的にはnewtype wrapperのような自明で(ほぼ)ゼロコストな変換のために使うもの、としている。