Stream (type theory)

From Wikipedia, the free encyclopedia
  (Redirected from Stream (computer science))
Jump to: navigation, search

In type theory and functional programming, a stream is a potentially infinite analog of a list, given by the inductive definition:

data Stream a =
    Cons a (Stream a)

Generating and computing with streams requires lazy evaluation, either implicitly in a lazily evaluated language or by creating and forcing thunks in an eager language. In total languages they must be defined as codata and can be iterated over using (guarded) corecursion.