Objektif paketini kullanıyorum ve aşağıdaki sorun için kolay bir çözüm bulunması gerektiğini düşünüyorum. Sık sık buKısmi alıcıları mercek kitaplığı kullanarak oluşturma
böyle bir şey yapmak istediğim için yani bazı harita (veya herhangiAt
örneği) ve onun değer türü hakkında bir lens, ben, bir alıcı istiyorum
aMap :: Map Int a
aLens :: Simple Lens a b
g :: Getter (Map Int a) (Maybe b)
Bu edilir olduğunu düşünelim tabii
x :: Maybe b
x = aMap^.at 3.g.aLens
amaçlanan semantik aksi at
arama ve Nothing
bunu yapmak yaparken bir Just
değeri elde olmanın.
g
yerine
newMap = at 3.traverse.aLens .~ whatever $ aMap
ama alıyorsanız değil traverse
eserler oluyor. Gözden geçirdiğim kütüphaneyi bir an önce hazırladım mı yoksa tek bir ifadede bunu başarmanın başka bir yolu var mı?