[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lazyness abtract (proposal for next Lua version)
 
- From: Tom N Harris <telliamed@...>
 
- Date: Fri, 19 Dec 2014 21:00:22 -0500
 
On Friday, December 19, 2014 07:46:08 PM steve donovan wrote:
> Can't help feeling that memoization gets us most of the benefits
> without new syntax/semantics.
Which is fine if you only access a variable through a function interface. If 
you want to pass something by-value you're forced to evaluate it at call time 
as opposed to use time. i.e
    function one_or_the_other(alpha, omega)
      if some_condition() then
        print(alpha)
      else
        print(omega)
      end
    end
    alpha = lazy(function() return calculate_alpha() end)
    omega = lazy(function() return calculate_omega() end)
    one_or_the_other(alpha, omega)
In this situation 'calculate_omega' would never be called if the condition is 
true. The 'one_or_the_other' function doesn't have to know that the value is 
evaluated late.
-- 
tom <telliamed@whoopdedo.org>