最近見かけた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のような自明で(ほぼ)ゼロコストな変換のために使うもの、としている。