minus1216
data とレコード構文で定義した、一つだけコンストラクタを持つ型について、コンストラクタの各引数へのアクセサとなるLensを勝手に導出してくれるような方法はありますか?data とレコード構文で定義した、一つだけコンストラクタを持つ型について、コンストラクタの各引数へのアクセサとなるLensを勝手に導出してくれるような方法はありますか?lens パッケージの Control.Lens.TH で定義されているmakeLenses などのマクロを使って定義を生成させるか、generic-lens パッケージと OverloadedLabels 言語拡張を使って #hogeField みたいな構文で自動でレンズ/プリズムを生成してもらう方法がメジャーでしょうかOverloadedLabels に抵抗がなければ generic-lens が便利(マクロではなく定義順が制約されることがないので)ですが、generic-lens のレンズを複数合成すると場合によっては多相性が邪魔をして上手く推論してくれない場合もあります。用途に応じて使い分ける形かなと