| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Vec.Pull.Lens
Contents
Indexing
ix :: Fin n -> Lens' (Vec n a) a Source #
Index lens.
>>>('a' L.::: 'b' L.::: 'c' L.::: L.VNil) ^. L._Pull . ix (FS FZ)'b'
>>>('a' L.::: 'b' L.::: 'c' L.::: L.VNil) & L._Pull . ix (FS FZ) .~ 'x''a' ::: 'x' ::: 'c' ::: VNil
_Cons :: Iso (Vec ('S n) a) (Vec ('S n) b) (a, Vec n a) (b, Vec n b) Source #
Match on non-empty Vec.
Note: lens _Cons is a ReifiedPrism.
In fact, cannot have an instance of Vec n aCons as types don't match.
_head :: Lens' (Vec ('S n) a) a Source #
Head lens. Note: lens _head is a Traversal'.
>>>('a' L.::: 'b' L.::: 'c' L.::: L.VNil) ^. L._Pull . _head'a'
>>>('a' L.::: 'b' L.::: 'c' L.::: L.VNil) & L._Pull . _head .~ 'x''x' ::: 'b' ::: 'c' ::: VNil