Lazy Evaluation - Laziness in Eager Languages

Laziness in Eager Languages

Python

In Python 2.x the range function computes a list of integers (eager or immediate evaluation):

>>> r = range(10) >>> print r >>> print r 3

In Python 3.x the range function returns an iterator which computes elements of the list on demand (lazy or deferred evaluation):

>>> r = range(10) >>> print(r) range(0, 10) >>> print(r) 3
This change to lazy evaluation saves execution time for large ranges which may never be fully referenced and memory usage for large ranges where only one or a few elements are needed at any time.

Python manifests lazy evaluation by implementing iterators (lazy sequences) unlike tuple or list sequences. For instance:

>>> list = range(10) >>> iterator = iter(list) >>> print list >>> print iterator >>> print iterator.next 0
The above example shows that lists are evaluated when called, but in case of iterator, the first element '0' is printed when need arises.
This section requires expansion.

Read more about this topic:  Lazy Evaluation

Famous quotes containing the words laziness, eager and/or languages:

    From passions grow opinions; intellectual laziness lets these harden into convictions.
    Friedrich Nietzsche (1844–1900)

    There was no corn—in the wide market-place
    All loathliest things, even human flesh, was sold;
    They weighed it in small scales—and many a face
    Was fixt in eager horror then; his gold
    The miser brought; the tender maid, grown bold
    Through hunger, bared her scornèd charms in vain.
    Percy Bysshe Shelley (1792–1822)

    People in places many of us never heard of, whose names we can’t pronounce or even spell, are speaking up for themselves. They speak in languages we once classified as “exotic” but whose mastery is now essential for our diplomats and businessmen. But what they say is very much the same the world over. They want a decent standard of living. They want human dignity and a voice in their own futures. They want their children to grow up strong and healthy and free.
    Hubert H. Humphrey (1911–1978)