函数式编程语言编程与程序验证.pptVIP

  • 30
  • 0
  • 约7.6千字
  • 约 33页
  • 2018-07-09 发布于江苏
  • 举报
函数式编程语言编程与程序验证

* * * * * * * * * * * * * * * 函数式语言SML及编程简介 例6(表类型)插入排序 fun insert(x, [ ]) : real list = [ x ] | insert(x, y :: ys) = if x = y then x :: y :: ys else y :: insert(x, ys); val insert = fn : real ? real list - real list 排序需要用到两个变元的比较运算,关系运算“=”不是多态的,因此insert不是多态函数 在第1行上给出函数的结果类型就是为了避免类型推断出现错误 函数式语言SML及编程简介 例7(表类型)基于表的一个高阶函数 fun map f [ ] = [ ] | map f (x :: xs) = (f x) :: map f xs; val map = fn : (?a - ?b) - (?a list - ?b list) 算子map把函数 f 应用到表的每个元素上,即 map f [x1, …, xn] = [f x1, …, f xn] map f的结果是一个新函数 函数式语言SML及编程简介 例8 静态作用域(静态绑定) le

文档评论(0)

1亿VIP精品文档

相关文档