-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Vec: length-indexed (sized) list: optics support -- -- This package provides optics and instances for data types in -- vec package. -- -- Data.Vec.Optics.Instances provides all the instances. the other -- modules provide some named optics too. @package vec-optics @version 0.3 module Data.Vec.DataFamily.SpineStrict.Optics -- | Index lens. -- --
--   >>> view (ix (FS FZ)) ('a' ::: 'b' ::: 'c' ::: VNil)
--   'b'
--   
-- --
--   >>> set (ix (FS FZ)) 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a' ::: 'x' ::: 'c' ::: VNil
--   
ix :: forall n a. InlineInduction n => Fin n -> Lens' (Vec n a) a -- | Match on non-empty Vec. -- -- Note: lens _Cons is a Prism. In fact, -- Vec n a cannot have an instance of Cons as -- types don't match. _Cons :: Iso (Vec ( 'S n) a) (Vec ( 'S n) b) (a, Vec n a) (b, Vec n b) -- | Head lens. Note: lens _head is a -- Traversal'. -- --
--   >>> view _head ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a'
--   
-- --
--   >>> set _head 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'x' ::: 'b' ::: 'c' ::: VNil
--   
_head :: Lens' (Vec ( 'S n) a) a -- | Tail lens. _tail :: Lens' (Vec ( 'S n) a) (Vec n a) -- | An Iso from toPull and fromPull. _Pull :: InlineInduction n => Iso (Vec n a) (Vec n b) (Vec n a) (Vec n b) -- | Prism from list. -- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat3 Char)
--   Just ('f' ::: 'o' ::: 'o' ::: VNil)
--   
-- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat2 Char)
--   Nothing
--   
-- --
--   >>> review _Vec (True ::: False ::: VNil)
--   [True,False]
--   
_Vec :: InlineInduction n => Prism' [a] (Vec n a) instance Data.Type.Nat.InlineInduction n => Optics.Internal.Indexed.FunctorWithIndex (Data.Fin.Fin n) (Data.Vec.DataFamily.SpineStrict.Vec n) instance Data.Type.Nat.InlineInduction n => Optics.Internal.Indexed.FoldableWithIndex (Data.Fin.Fin n) (Data.Vec.DataFamily.SpineStrict.Vec n) instance Data.Type.Nat.InlineInduction n => Optics.Internal.Indexed.TraversableWithIndex (Data.Fin.Fin n) (Data.Vec.DataFamily.SpineStrict.Vec n) instance Data.Type.Nat.InlineInduction n => Optics.Each.Core.Each (Data.Fin.Fin n) (Data.Vec.DataFamily.SpineStrict.Vec n a) (Data.Vec.DataFamily.SpineStrict.Vec n b) a b instance Data.Type.Nat.InlineInduction n => Optics.At.Core.Ixed (Data.Vec.DataFamily.SpineStrict.Vec n a) instance Data.Tuple.Optics.Field1 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S n) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S n) a) a a instance Data.Tuple.Optics.Field2 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S n)) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S n)) a) a a instance Data.Tuple.Optics.Field3 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))) a) a a instance Data.Tuple.Optics.Field4 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))) a) a a instance Data.Tuple.Optics.Field5 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))) a) a a instance Data.Tuple.Optics.Field6 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))) a) a a instance Data.Tuple.Optics.Field7 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))) a) a a instance Data.Tuple.Optics.Field8 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))))) a) a a instance Data.Tuple.Optics.Field9 (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))))) a) (Data.Vec.DataFamily.SpineStrict.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))))) a) a a module Data.Vec.Lazy.Optics -- | Index lens. -- --
--   >>> view (ix (FS FZ)) ('a' ::: 'b' ::: 'c' ::: VNil)
--   'b'
--   
-- --
--   >>> set (ix (FS FZ)) 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a' ::: 'x' ::: 'c' ::: VNil
--   
ix :: Fin n -> Lens' (Vec n a) a -- | Match on non-empty Vec. -- -- Note: lens _Cons is a Prism. In fact, -- Vec n a cannot have an instance of Cons as -- types don't match. _Cons :: Iso (Vec ( 'S n) a) (Vec ( 'S n) b) (a, Vec n a) (b, Vec n b) -- | Head lens. Note: lens _head is a -- Traversal'. -- --
--   >>> view _head ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a'
--   
-- --
--   >>> set _head 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'x' ::: 'b' ::: 'c' ::: VNil
--   
_head :: Lens' (Vec ( 'S n) a) a -- | Tail lens. _tail :: Lens' (Vec ( 'S n) a) (Vec n a) -- | An Iso from toPull and fromPull. _Pull :: SNatI n => Iso (Vec n a) (Vec n b) (Vec n a) (Vec n b) -- | Prism from list. -- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat3 Char)
--   Just ('f' ::: 'o' ::: 'o' ::: VNil)
--   
-- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat2 Char)
--   Nothing
--   
-- --
--   >>> review _Vec (True ::: False ::: VNil)
--   [True,False]
--   
_Vec :: SNatI n => Prism' [a] (Vec n a) instance Optics.Internal.Indexed.FunctorWithIndex (Data.Fin.Fin n) (Data.Vec.Lazy.Vec n) instance Optics.Internal.Indexed.FoldableWithIndex (Data.Fin.Fin n) (Data.Vec.Lazy.Vec n) instance Optics.Internal.Indexed.TraversableWithIndex (Data.Fin.Fin n) (Data.Vec.Lazy.Vec n) instance Optics.Each.Core.Each (Data.Fin.Fin n) (Data.Vec.Lazy.Vec n a) (Data.Vec.Lazy.Vec n b) a b instance Optics.At.Core.Ixed (Data.Vec.Lazy.Vec n a) instance Data.Tuple.Optics.Field1 (Data.Vec.Lazy.Vec ('Data.Nat.S n) a) (Data.Vec.Lazy.Vec ('Data.Nat.S n) a) a a instance Data.Tuple.Optics.Field2 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S n)) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S n)) a) a a instance Data.Tuple.Optics.Field3 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))) a) a a instance Data.Tuple.Optics.Field4 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))) a) a a instance Data.Tuple.Optics.Field5 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))) a) a a instance Data.Tuple.Optics.Field6 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))) a) a a instance Data.Tuple.Optics.Field7 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))) a) a a instance Data.Tuple.Optics.Field8 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n)))))))) a) a a instance Data.Tuple.Optics.Field9 (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))))) a) (Data.Vec.Lazy.Vec ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S ('Data.Nat.S n))))))))) a) a a module Data.Vec.Lazy.Inline.Optics -- | Index lens. -- --
--   >>> view (ix (FS FZ)) ('a' ::: 'b' ::: 'c' ::: VNil)
--   'b'
--   
-- --
--   >>> set (ix (FS FZ)) 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a' ::: 'x' ::: 'c' ::: VNil
--   
ix :: forall n a. InlineInduction n => Fin n -> Lens' (Vec n a) a -- | Match on non-empty Vec. -- -- Note: lens _Cons is a Prism. In fact, -- Vec n a cannot have an instance of Cons as -- types don't match. _Cons :: Iso (Vec ( 'S n) a) (Vec ( 'S n) b) (a, Vec n a) (b, Vec n b) -- | Head lens. Note: lens _head is a -- Traversal'. -- --
--   >>> view _head ('a' ::: 'b' ::: 'c' ::: VNil)
--   'a'
--   
-- --
--   >>> set _head 'x' ('a' ::: 'b' ::: 'c' ::: VNil)
--   'x' ::: 'b' ::: 'c' ::: VNil
--   
_head :: Lens' (Vec ( 'S n) a) a -- | Tail lens. _tail :: Lens' (Vec ( 'S n) a) (Vec n a) -- | An Iso from toPull and fromPull. _Pull :: InlineInduction n => Iso (Vec n a) (Vec n b) (Vec n a) (Vec n b) -- | Prism from list. -- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat3 Char)
--   Just ('f' ::: 'o' ::: 'o' ::: VNil)
--   
-- --
--   >>> preview _Vec "foo" :: Maybe (Vec N.Nat2 Char)
--   Nothing
--   
-- --
--   >>> review _Vec (True ::: False ::: VNil)
--   [True,False]
--   
_Vec :: InlineInduction n => Prism' [a] (Vec n a) module Data.Vec.Pull.Optics -- | Index lens. -- -- a ::: x ::: c ::: VNil >>> view -- (L._Pull % ix (FS FZ)) (a L.::: b L.::: c -- L.::: L.VNil) b -- --
--   >>> set (L._Pull % ix (FS FZ)) 'x' ('a' L.::: 'b' L.::: 'c' L.::: L.VNil)
--   'a' ::: 'x' ::: 'c' ::: VNil
--   
ix :: Fin n -> Lens' (Vec n a) a -- | Match on non-empty Vec. -- -- Note: lens _Cons is a Prism. In fact, -- Vec n a cannot have an instance of Cons as -- types don't match. _Cons :: Iso (Vec ( 'S n) a) (Vec ( 'S n) b) (a, Vec n a) (b, Vec n b) -- | Head lens. Note: lens _head is a -- Traversal'. -- --
--   >>> view (L._Pull % _head) ('a' L.::: 'b' L.::: 'c' L.::: L.VNil)
--   'a'
--   
-- --
--   >>> set (L._Pull % _head) 'x' ('a' L.::: 'b' L.::: 'c' L.::: L.VNil)
--   'x' ::: 'b' ::: 'c' ::: VNil
--   
_head :: Lens' (Vec ( 'S n) a) a -- | Tail lens. _tail :: Lens' (Vec ( 'S n) a) (Vec n a) -- | Prism from list. _Vec :: SNatI n => Prism' [a] (Vec n a) instance Optics.Internal.Indexed.FunctorWithIndex (Data.Fin.Fin n) (Data.Vec.Pull.Vec n) instance Data.Type.Nat.SNatI n => Optics.Internal.Indexed.FoldableWithIndex (Data.Fin.Fin n) (Data.Vec.Pull.Vec n) -- | This module re-exports instances from all the modules defined in -- vec-lens package. module Data.Vec.Optics.Instances