使用 DuplicateRecordFields 创建镜头

Swi*_*ake 5 haskell ghc haskell-lens

您将如何使用新DuplicateRecordFields启用的镜头生成镜头?

我已经尝试使用makeLenses,但没有生成任何内容任何内容

我还尝试使用限定符导入我的构造函数以防止字段和镜头之间的名称冲突,但这也无济于事。

模板-haskell 是否有一些未解决的问题,因为它与这个新扩展有关(我在 GHC 错误跟踪器中找到了一张关于该效果的票,但它已被关闭),还是我遗漏了一些明显的东西?

Swi*_*ake 0

正如评论者指出的那样,您可以使用 来解决这个问题makeLensesWith,这就是我最终所做的:

makeLensesWith abbreviatedFields
Run Code Online (Sandbox Code Playgroud)