这里列出本课程要求完成的作业,原则上每次课的作业在当次课的下一周周一(0点)截止。

每周的作业请尽量在一封邮件内交齐,发送到课程邮箱(pku-dppl@outlook.com)并请在邮件主题中注明学号、姓名以及第几周作业(格式为“2100012345-张三-1”)。

  • 2023/02/20 赵海燕:
    Introduction
    [2023/02/27 截止]
    • 安装 OCaml
    • 3.5.13 & 3.5.16
  • 2023/02/27 赵海燕:
    Basic for Implementation
    [2023/03/06 截止]
    • 熟悉 OCaml
    • 完成课件最后一页的练习
  • 2023/03/06 赵海燕:
    The Untyped Lambda Calculus
    [2023/03/13 截止]
    • 5.2.7 & 5.3.6
  • 2023/03/13 赵海燕:
    Nameless Representation of Terms
    [2023/03/20 截止]
    • 6.2.5 & 8.3.6 & 9.3.9
  • 2023/03/20 赵海燕:
    Simply Extensions
    [2023/03/27 截止]
    • 11.5.2 & 11.12.1
  • 2023/03/27 赵海燕:
    In-class Practice
    [2023/04/03 截止]
    • Exercises
  • 2023/04/03 赵海燕:
    Reference
    [2023/04/10 截止]
    • 13.3.1 & 13.5.8 & 14.3.1
  • 2023/04/10 赵海燕:
    Subtyping
    [2023/04/17 截止]
    • 15.2.2 & 15.3.2 & 15.3.6 & 16.1.2 & 16.2.6 & 16.4.1
  • 2023/04/24 王迪:
    Case Study: Imperative Objects
    [2023/05/08 截止]
    • 18.6.1 & 18.11.1
  • 2023/05/08 王迪:
    Recursive Types
    [2023/05/15 截止]
    • on the last page of "Recursive Types" slide & 21.5.2
  • 2023/05/15 王迪:
    Universal Type
    [2023/05/22 截止]
    • 23.5.1 or 23.5.2(choose one of these two)
    • on the last page of "Type Reconstruction"
  • 2023/05/22 王迪:
    Existential Type
    [2023/05/29 截止]
    • on the last page of "Existential Type"
    • 26.3.5