2.8 小结

99 阅读1分钟

语法和语义是学习编程语言的强大范式。当我们了解 OCaml 的特性时,我们会小心地写下它们的语法和语义。我们已经看到,可以有多种语法来表示相同的语义思想,也就是相同的计算。

函数式应用的语义是 OCaml 和函数式编程的核心,这是我们在整个课程中会反复提到的,以加深我们的理解。

术语和概念

  • anonymous functions 匿名函数
  • assertions 断言
  • binding 绑定
  • binding expression 绑定表达式
  • body expression 体表达式
  • debugging 调试
  • defensive programming 防范性编程
  • definitions 定义
  • documentation 文档
  • dynamic semantics 动态语义
  • evaluation 计算/求值
  • expressions 表达式
  • function application 函数应用
  • function definitions 函数定义
  • identifiers 标识符
  • idioms 惯用语
  • if expressions if 表达式
  • lambda expressions lambda 表达式
  • let definition let 定义
  • let expression let表达式
  • libraries 库
  • metavariables 元变量
  • mutual recursion 相互递归
  • pipeline operator 管道运算符
  • postcondition 后置条件
  • precondition 前置条件
  • printing 打印
  • recursion 递归
  • semantics 语义
  • static semantics 静态语义
  • substitution 替换
  • syntax 语法
  • tools 工具
  • type checking 类型检查
  • type inference 类型接口
  • values 值

延伸阅读

  • OCaml导论(Introduction to Objective Caml), 第三章

  • OCaml from the Very Beginning, 第二章

  • Real World OCaml, 第二章

  • Tail Recursion, The Musical. Tail-call optimization explained in the context of JavaScript with cute 8-bit animations, and Disney songs!

    ​ 在 JavaScript 的背景下,用可爱的 8 位动画和迪士尼歌曲来解释尾调用优化!

注:本书是康奈尔大学 CS 3110 数据结构和函数式编程的教材。原书为英文版,在学习的过程中,根据自己的理解,翻译了一些,做一个记录,版权归原作者所有,如有侵权,请联系我删除。