Если у меня есть newtype
newtype
newtype Foo = Foo Int
, есть ли автоматический c способ получить Iso' Foo Int?
Iso' Foo Int
Я видел, что мог бы использовать makeLenses ''Foo, но Я не знаю, как называется сгенерированный iso.
makeLenses ''Foo
coerced :: (Coercible s a, Coercible t b) => Iso s t a b
Если вы назовете метод доступа: newtype Foo = Foo {_unFoo :: Int}, а затем выполните makeLenses '' Foo, он сгенерирует нужный Iso под именем "unFoo"
newtype Foo = Foo {_unFoo :: Int}
Обратите внимание, что метод доступа должен начинаться с подчеркивания для него генерировать изо.