求值策略

求值策略係指一隻程式語言用咩方法嚟同啲表達式做求值。

主要策略
舉例說明，想像家陣要行以下噉嘅表達式
  def double x = (plus x x)
  def average x y = (divide (plus x y) 2)

用正常次序求值嘅話，會做嘅嘢係「吓吓都郁手拆咗最左嗰個子程序先」→
(double (average 2 4)) =>
(plus (average 2 4) (average 2 4)) =>
(plus (divide (plus 2 4) 2) (average 2 4)) => ...

而用應用次序求值嘅話，會做嘅嘢係「吓吓都郁手拆咗最入嗰個子程序先」→
double (average 2 4) =>
double (divide (plus 2 4) 2) =>
double (divide 6 2) => ...

唔同嘅求值策略都有各自嘅利弊，同一條表達式，有可能用一種求值策略會攞到正確答案，但用另一種求值策略就會搞到輕機。

程式語言理論

攷

程式語言