:< -package:text

leftmost element and the rest of the sequence
Pattern synonym for matching on the leftmost element of a structure.
>>> case ['a','b','c'] of (x :< _) -> x
'a'
leftmost element and the rest of the sequence
Add an element to the tail of a vector.
>>> (3:>4:>5:>Nil) :< 1
3 :> 4 :> 5 :> 1 :> Nil

>>> let x = (3:>4:>5:>Nil) :< 1

>>> :t x
x :: Num a => Vec 4 a
Can be used as a pattern:
>>> let f (_ :< y :< x) = y + x

>>> :t f
f :: Num a => Vec ((n + 1) + 1) a -> a

>>> f (3:>4:>5:>6:>7:>Nil)
13
Also in conjunctions with (:>):
>>> let g (a :> b :> (_ :< y :< x)) = a + b +  x + y

>>> :t g
g :: Num a => Vec ((((n + 1) + 1) + 1) + 1) a -> a

>>> g (1:>2:>3:>4:>5:>Nil)
12
A bidirectional pattern synonym for working with the minimum view of a MinQueue. Using :< to construct a queue performs an insertion in <math> amortized time. When matching on a :< q, forcing q takes <math> time.
A bidirectional pattern synonym for working with the minimum view of a MinPQueue. Using :< to construct a queue performs an insertion in <math> amortized time. When matching on (k, a) :< q, forcing q takes <math> time.
Pattern synonym for matching on the leftmost element of a structure.
>>> case ['a','b','c'] of (x :< _) -> x
'a'
The constraint e :< p expresses that e is a component of the type p. That is, p is formed by binary products using the type e. The occurrence of e must be unique. For example we have Int :< (Bool,(Int,Bool)) but not Bool :< (Bool,(Int,Bool)).
Convenience pattern for row extraction and consolidation at the beginning of an Array.
>>> (x:<xs) = array [4] [0..3]

>>> x
UnsafeArray [] [0]

>>> xs
UnsafeArray [3] [1,2,3]

>>> (x:<xs)
UnsafeArray [4] [0,1,2,3]
Convenience pattern for row extraction and consolidation at the beginning of an Array.
>>> (x:<xs) = array @'[4] [0..3]

>>> toDynamic x
UnsafeArray [] [0]

>>> toDynamic xs
UnsafeArray [3] [1,2,3]

>>> toDynamic (x:<xs)
UnsafeArray [4] [0,1,2,3]
Pattern synonym for cons-side uncons.