第9章类型推断剖析.pptVIP

  • 1
  • 0
  • 约5.95千字
  • 约 31页
  • 2017-07-05 发布于湖北
  • 举报
中国科大 第9章 类型推断 类型推断是把无类型的或“部分类型化的”项变换成良类型项的一般问题 它通过推导未给出的类型信息来完成这个变换 类型推断兼有两方面的优点 编译时完成类型检查 不需要程序中过分的类型信息 第9章 类型推断 本章的主要内容 类型推断的一般框架 基于从类型化语言到无类型语言的“擦除”函数 加了类型变量后的??类型推断 包括主定型和合一问题 带多态声明的??, ?, let的类型推断算法 9.1 引 言 例 给出完整类型信息的PCF表达式 D? =def let dbl: (nat ? nat) ? nat ? nat = ?f : nat ? nat.?x: nat. f (f x) in dbl (?x: nat. x + 2 ) 4 忽略类型信息的PCF表达式 D =def let dbl = ?f.?x. f (f x) in dbl (?x: x + 2 ) 4 在多态语言中,类型推断尤其有用,因为多态项涉及?约束变量的类型、类型抽象和类型作用 9.1 引 言 通过选择从一种类型语言L到某种其它语言L?的擦除函数Erase来确定类型推断问题 L?是一种相对应的“无类型”语言,或者是部分类型信息或类型运算未给出 例 从??到无类型?项的擦除函数删掉?约束的类型指示 Erase(c) = c Erase(?

文档评论(0)

1亿VIP精品文档

相关文档