Copyright | (C) 2012-16 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell98 |
Documentation
sliced :: Int -> Int -> IndexedTraversal' Int (Seq a) a Source
Traverse all the elements numbered from i
to j
of a Seq
>>>
fromList [a,b,c,d,e] & sliced 1 3 %~ f
fromList [a,f b,f c,d,e]
slicedTo :: Int -> IndexedTraversal' Int (Seq a) a Source
Traverse the first n
elements of a Seq
>>>
fromList [a,b,c,d,e] ^.. slicedTo 2
[a,b]
>>>
fromList [a,b,c,d,e] & slicedTo 2 %~ f
fromList [f a,f b,c,d,e]
>>>
fromList [a,b,c,d,e] & slicedTo 10 .~ x
fromList [x,x,x,x,x]
slicedFrom :: Int -> IndexedTraversal' Int (Seq a) a Source
Traverse all but the first n
elements of a Seq
>>>
fromList [a,b,c,d,e] ^.. slicedFrom 2
[c,d,e]
>>>
fromList [a,b,c,d,e] & slicedFrom 2 %~ f
fromList [a,b,f c,f d,f e]
>>>
fromList [a,b,c,d,e] & slicedFrom 10 .~ x
fromList [a,b,c,d,e]
seqOf :: Getting (Seq a) s a -> s -> Seq a Source
Construct a Seq
from a Getter
, Fold
, Traversal
, Lens
or Iso
.
>>>
seqOf folded ["hello","world"]
fromList ["hello","world"]
>>>
seqOf (folded._2) [("hello",1),("world",2),("!!!",3)]
fromList [1,2,3]
seqOf
::Getter
s a -> s ->Seq
aseqOf
::Fold
s a -> s ->Seq
aseqOf
::Iso'
s a -> s ->Seq
aseqOf
::Lens'
s a -> s ->Seq
aseqOf
::Traversal'
s a -> s ->Seq
a