which one do you prefer? python with C# or java?
Terry Reedy
tjreedy at udel.edu
Fri Jun 15 23:22:12 EDT 2012
On 6/15/2012 3:04 PM, Paul Rubin wrote:
> Terry Reedy<tjreedy at udel.edu> writes:
>> Python iterators can do lazy evaluation. All the builtin classes come
>> with a corresponding iterator. ...
>
> I wouldn't say iterators do lazy evaluation in the Scheme or Haskell
> sense. Lazy evaluation imho means evaluation is deferred until you
> actually try to use the value, and when you use it, it is computed and
> kept around for later re-use (until it becomes gc-able). Python
> iterators simply generate one value at a time and leave retention of old
> values to be managed by the programmer.
Ok, I see the difference. You are talking about something like a
memoized __getitem__ that computes and store values as needed.
>> There is nothing simulated about yield. Python mostly does what you
>> tell it to do. You just have to learn how to tell it to do what you
>> want.
>
> I'd be interested in seeing a clean implementation of that algorithm
> using python iterators.
I already wrote "The problem being discussed may be a case where [linked
lists] are useful and make it easier to save space" -- because, from
what I understood, a moving buffer of temporarily saved buffers is needed.
--
Terry Jan Reedy
More information about the Python-list
mailing list