The sequence: Duality of data and calculation
What makes the F# sequence so ambient and versatile is its dual nature. Being a strongly typed generic data collection, it exposes the contained data via two archetypal .NET interfaces of the
System.Collections.Generic namespace, namely
IEnumerable<T> (https://msdn.microsoft.com/en-us/library/9eekhta0(v=vs.110).aspx) and
These interfaces personify the classic data pull protocol, where a data consumer actively pulls data from the producer. Indeed, the type of
seq<'T> in the F# is defined as the following abbreviation:
type seq<'T> = System.Collections.Generic.IEnumerable<'T>
The preceding line of code means in practice ...