:: [t] -> Int package:ghc-lib-parser

Returns the size/length of a finite structure as an Int. The default implementation just counts elements starting with the leftmost. Instances for structures that can compute the element count faster than via element-by-element counting, should provide a specialised implementation.

Examples

Basic usage:
>>> length []
0
>>> length ['a', 'b', 'c']
3

>>> length [1..]
* Hangs forever *
The genericLength function defined in base can't be specialised due to the NOINLINE pragma. It is also not strict in the accumulator, and strictGenericLength is not exported. See #25706 for why it is important to use a strict, specialised version.