我被搞糊塗了所有內置在聲稱爲防止評價以某種方式Mathematica函數:Unevaluated
,Defer
,Hold
,超過半打形式Hold*
。 Mathematica文檔只是單獨解釋每個函數,而不解釋爲什麼要選擇其中一個。任何人都可以提供所有這些功能的連貫解釋嗎?整件事對我來說似乎是一團糟。將這一切與Lisp宏聯繫起來可能是一個很好的開始。數學:VS未作評估的VS推遲VS保持VS HoldForm VS HoldAllComplete等等等等
大多數Mathematica語言的令人驚訝的是精心設計的,但它似乎是真的鎢自己畫成在這方面的一個角落裏。或者我可能會錯過一些東西。