Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module defines optics for constructing and manipulating finite
Seq
s.
Synopsis
- viewL :: Iso ( Seq a) ( Seq b) ( ViewL a) ( ViewL b)
- viewR :: Iso ( Seq a) ( Seq b) ( ViewR a) ( ViewR b)
- sliced :: Int -> Int -> IxTraversal' Int ( Seq a) a
- slicedTo :: Int -> IxTraversal' Int ( Seq a) a
- slicedFrom :: Int -> IxTraversal' Int ( Seq a) a
- seqOf :: Is k A_Fold => Optic' k is s a -> s -> Seq a
Documentation
sliced :: Int -> Int -> IxTraversal' Int ( Seq a) a Source #
Traverse all the elements numbered from
i
to
j
of a
Seq
>>>
Seq.fromList [1,2,3,4,5] & sliced 1 3 %~ (*10)
fromList [1,20,30,4,5]
>>>
Seq.fromList [1,2,3,4,5] ^.. sliced 1 3
[2,3]
>>>
Seq.fromList [1,2,3,4,5] & sliced 1 3 .~ 0
fromList [1,0,0,4,5]
slicedTo :: Int -> IxTraversal' Int ( Seq a) a Source #
Traverse the first
n
elements of a
Seq
>>>
Seq.fromList [1,2,3,4,5] ^.. slicedTo 2
[1,2]
>>>
Seq.fromList [1,2,3,4,5] & slicedTo 2 %~ (*10)
fromList [10,20,3,4,5]
>>>
Seq.fromList [1,2,4,5,6] & slicedTo 10 .~ 0
fromList [0,0,0,0,0]
slicedFrom :: Int -> IxTraversal' Int ( Seq a) a Source #
Traverse all but the first
n
elements of a
Seq
>>>
Seq.fromList [1,2,3,4,5] ^.. slicedFrom 2
[3,4,5]
>>>
Seq.fromList [1,2,3,4,5] & slicedFrom 2 %~ (*10)
fromList [1,2,30,40,50]
>>>
Seq.fromList [1,2,3,4,5] & slicedFrom 10 .~ 0
fromList [1,2,3,4,5]