HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulelens-5.3.5Haskell2010

Data.Sequence.Lens

  • 6 values
  • Packagelens-5.3.5
  • Exports6
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceLens.hs
valueviewL
  1. :: (Profunctor p, Functor f)
  2. => p (ViewL a) (f (ViewL b))
  3. -> p (Seq a) (f (Seq b))
#

A Seq is isomorphic to a ViewL

viewl m ≡ m ^. viewL
Example1 expression
Seq.fromList [a,b,c] ^. viewLa :< fromList [b,c]
Example1 expression
Seq.empty ^. viewLEmptyL
Example1 expression
EmptyL ^. from viewLfromList []
Example1 expression
review viewL $ a Seq.:< Seq.fromList [b,c]fromList [a,b,c]
valueviewR
  1. :: (Profunctor p, Functor f)
  2. => p (ViewR a) (f (ViewR b))
  3. -> p (Seq a) (f (Seq b))
#

A Seq is isomorphic to a ViewR

viewr m ≡ m ^. viewR
Example1 expression
Seq.fromList [a,b,c] ^. viewRfromList [a,b] :> c
Example1 expression
Seq.empty ^. viewREmptyR
Example1 expression
EmptyR ^. from viewRfromList []
Example1 expression
review viewR $ Seq.fromList [a,b] Seq.:> cfromList [a,b,c]
valuesliced :: Int -> Int -> IndexedTraversal' Int (Seq a) a
#

Traverse all the elements numbered from i to j of a Seq

Example1 expression
Seq.fromList [a,b,c,d,e] & sliced 1 3 %~ ffromList [a,f b,f c,d,e]
valueslicedTo :: Int -> IndexedTraversal' Int (Seq a) a
#

Traverse the first n elements of a Seq

Example1 expression
Seq.fromList [a,b,c,d,e] ^.. slicedTo 2[a,b]
Example1 expression
Seq.fromList [a,b,c,d,e] & slicedTo 2 %~ ffromList [f a,f b,c,d,e]
Example1 expression
Seq.fromList [a,b,c,d,e] & slicedTo 10 .~ xfromList [x,x,x,x,x]
valueslicedFrom :: Int -> IndexedTraversal' Int (Seq a) a
#

Traverse all but the first n elements of a Seq

Example1 expression
Seq.fromList [a,b,c,d,e] ^.. slicedFrom 2[c,d,e]
Example1 expression
Seq.fromList [a,b,c,d,e] & slicedFrom 2 %~ ffromList [a,b,f c,f d,f e]
Example1 expression
Seq.fromList [a,b,c,d,e] & slicedFrom 10 .~ xfromList [a,b,c,d,e]
valueseqOf :: Getting (Seq a) s a -> s -> Seq a
#

Construct a Seq from a Getter, Fold, Control.Lens.Traversal.Traversal, Control.Lens.Lens.Lens or Control.Lens.Iso.Iso.

Example1 expression
seqOf folded ["hello","world"]fromList ["hello","world"]
Example1 expression
seqOf (folded._2) [("hello",1),("world",2),("!!!",3)]fromList [1,2,3]
seqOf :: Getter s a    -> s -> Seq a
seqOf :: Fold s a      -> s -> Seq a
seqOf :: Iso' s a       -> s -> Seq a
seqOf :: Lens' s a      -> s -> Seq a
seqOf :: Traversal' s a -> s -> Seq a