计划中的评估

unj*_*nj2 5 scheme

PAIP的Peter Norvig说:
"在现代的lisps中...... eval的使用频率较低(实际上,在Scheme中根本没有eval)""如果你发现自己使用了eval,你可能做错了".

在计划中规避使用eval有哪些方法?是否存在绝对需要评估的情况?

Eli*_*lay 7

有些情况eval是必要的,但它们总是涉及高级程序,这些程序可以动态加载某些代码(例如,Web服务器中的servlet).至于"规避"使用它的方法 - 这取决于你试图解决的实际问题,eval除了...之外没有神奇的解决方案可以避免eval.

(顺便说一句,我的猜测是PAIP是很久以前编写的,之后eval被添加到计划报告中.)


new*_*cct 5

他错了 当然有eval计划。

  • @newacct PAIP于1992年问世,而R4RS却没有评估。R5R出现在1998年,并添加了评估,动态变化和值:) (4认同)
  • R5RS http://schemers.org/Documents/Standards/R5RS/HTML/r5rs-ZH-9.html#%_sec_6.5 (3认同)