Module

Data.Lens.Record

Package
purescript-profunctor-lenses
Repository
purescript-contrib/purescript-profunctor-lenses

#prop Source

prop :: forall l r1 r2 r a b proxy. IsSymbol l => Cons l a r r1 => Cons l b r r2 => proxy l -> Lens (Record r1) (Record r2) a b

Construct a (type-changing) lens for a record property, by providing a proxy for the Symbol which corresponds to the property label.

The lens is polymorphic in the rest of the row of property labels.

For example:

prop (Proxy :: Proxy "foo")
  :: forall a b r. Lens { foo :: a | r } { foo :: b | r } a b