標準makeLenses
実装では、アンダースコアで始まるレコードのすべてのフィールドのレンズが生成されます。私は非常に多くの理由で私の記録にそのような厄介な命名規則を導入しなければならないという考えを嫌う。私がしたいのは、レコードのすべてのフィールドのレンズを生成し、フィールド名に接尾辞 "L"を追加するだけです。 FC-ラベルライブラリとデフォルトの「アンダースコア」ベースのものの代わりにカスタムネームプロセッサを使用した「レンズ」ライブラリのレンズの生成
私は
mkLabelsWith (++ "L") [''MyRecord]
た達成するためにしなければならなかったすべてが、レンズライブラリがないようであるrulesetsとスタッフとはるかに関わる構成を持っています周りの心を簡単に取得します。だから私は同じことを達成するための具体的なレシピを求めています。
グレート(これは4.4でラムダは、パラメータとしてのみ
\_ name
を取ると、4.5+です):は、こちらのバージョンで動作実装です!どうもありがとうございました! –
これは、template-haskell関連のコードを変更したレンズ4.4で壊れていることに注意してください。 –