On Wed, Dec 01, 2010 at 10:34:48PM -0500, David Van Horn wrote: > On 12/1/10 10:14 PM, Hendrik Boom wrote: >> On Wed, Dec 01, 2010 at 09:09:04PM -0500, David Van Horn wrote: >>> On 12/1/10 9:03 PM, YC wrote: >>>> Thanks - I have read the substitution part of PLAI and thought of using >>>> substitution as well, but it seems that substitution does not constitute >>>> the full solution: >>>> >>>> * it only work with side-effect free code >>> >>> This is not entirely true, but substitution and effects are subtle. >> >> The actual prblem is that the parameter is reevaluated every time it's >> used in teh called function. THis lacke efficiency, but occasionally >> (as in Algol 60's call-by-name it's exactly what you need,) >> >>> >>>> * it does not address closure >>> >>> You don't need closures in a substitution model. >> >> No, as long as you take care to use systematic renaming of variables. > > You luck out and get to avoid this issue if you implement a > call-by-value language.
You still have it if parameters can be functions. -- hendrik _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users