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 IEnumerator<T>
(https://msdn.microsoft.com/en-us/library/78dfe2yb(v=vs.110).aspx).
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 ...
Get F# 4.0 Design Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.