!

(!) :: IntMap a -> Key -> a
containers Data.IntMap.Strict, containers Data.IntMap.Lazy
O(min(n,W)). Find the value at a key. Calls error when the element can not be found. > fromList [(5,'a'), (3,'b')] ! 1 Error: element not in the map > fromList [(5,'a'), (3,'b')] ! 5 == 'a'
(!) :: (IArray a e, Ix i) => a i e -> i -> e
array Data.Array.IArray
Returns the element of an immutable array at the specified index.
(!) :: ADDATTRS a => a -> [HtmlAttr] -> a
html Text.Html, xhtml Text.XHtml.Strict, xhtml Text.XHtml.Frameset, xhtml Text.XHtml.Transitional
(!) :: Ix i => Array i e -> i -> e
array Data.Array
The value at the given index in an array.
(!) :: Ord k => Map k a -> k -> a
containers Data.Map.Lazy, containers Data.Map.Strict
O(log n). Find the value at a key. Calls error when the element can not be found. > fromList [(5,'a'), (3,'b')] ! 1 Error: element not in the map > fromList [(5,'a'), (3,'b')] ! 5 == 'a'
keyword !
keyword
Whenever a data constructor is applied, each argument to the constructor is evaluated if and only if the corresponding type in the algebraic datatype declaration has a strictness flag, denoted by an exclamation point. For example: > data STList a > = STCons a !(STList a)  -- the second argument to STCons will be > -- evaluated before STCons is applied > | STNil to illustrate the difference between strict versus lazy constructor application, consider the following: > stList = STCons 1 undefined > lzList = (:)    1 undefined > stHead (STCons h _) = h -- this evaluates to undefined when applied to stList > lzHead (h : _)      = h -- this evaluates to 1 when applied to lzList ! is also used in the "bang patterns" (GHC extension), to indicate strictness in patterns: > f !x !y = x + y
(!!) :: [a] -> Int -> a
base Prelude, base Data.List
List index (subscript) operator, starting from 0. It is an instance of the more general Data.List.genericIndex, which takes an index of any integral type.
($!) :: (a -> b) -> a -> b
base Prelude
Strict (call-by-value) application, defined in terms of seq.
($!!) :: NFData a => (a -> b) -> a -> b
deepseq Control.DeepSeq
the deep analogue of $!. In the expression f $!! x, x is fully evaluated before the function f is applied to it.
($=!) :: HasSetter s => s a -> a -> IO ()
OpenGL Graphics.Rendering.OpenGL.GL.StateVar
A variant of $= which is strict in the value to be set.
($~!) :: (HasGetter v, HasSetter v) => v a -> (a -> a) -> IO ()
OpenGL Graphics.Rendering.OpenGL.GL.StateVar
A variant of $~ which is strict in the transformed value.