, bu temel kayıt erişimcileri kullanmadan yeni bir kayıt oluşturmak mümkündür?Lensler kullanarak yeni bir kayıt oluşturmak mümkün mü? Ben merceklerle rekor türü varsa
{-# LANGUAGE TemplateHaskell #-}
import Control.Lens
import Control.Lens.TH
data Foo = Foo { _s :: String
, _b :: Bool
} deriving (Show, Eq)
makeLenses ''Foo
Ben Foo
Data.Default
örneğidir yapmak ve daha sonra lensler ile def
modifiy, ama hepsi değil kayıt türleri mantıklı varsayılan olacaktır başladı. Control.Lens'in bunu yapmak için kendi yolu var mı?
Hep 'Foo {}' varsayılan olarak, tanımsız tüm alanları bırakarak kullanabilirsiniz. –
Teşekkürler! Oradaki alanları çıkarabileceğini bile bilmiyordum. Ben sadece * varsaydık * bir derleme hatası olur. –
Not: Foo'nun sıkı alanları varsa bu işe yaramaz. – shachaf