程序设计语言第11章(275KB).pptVIP

  • 2
  • 0
  • 约1.37万字
  • 约 57页
  • 2018-03-29 发布于未知
  • 举报
11.2.6 增强λ演算 只用最底层λ演算是极其复杂的。用高层命名函数,语义清晰。不仅如此,保留一些常见关键字,语义更清晰。例如,我们可以定义一个if_then_else为名的函数:if_then_else =λp.λm.λn.p m n,当p为真时, 执行m否则为n。我们先验证其真伪。 例:当条件表达式为真时if_then_else函数的归约 (if_then_else) T M N = (λp. λm. λn. p m n) T M N = (λm.λn. ( T m n))M N = (λm. λn. (λx.λy.x) m n) M N = (λm. λn. (λy.m) n) M N = (λm. λn. m) M N = (λn. M) N =M if表达式 可保留显式if-then-else形式: (if_then_else) E1 E2 E3= if E1 then E2 else E3 其中E1, E2, E3为λ表达式。 Let/where表达式 如果有高阶函数: (λn. multiply n (succ n)) (add i 2 ) = multiply (add i 2) (succ (add i 2)) //n 和 add i 2置换变元得 = multip

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档