Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 990 Bytes

Readme.md

File metadata and controls

30 lines (20 loc) · 990 Bytes

PPL Lab1

Please read me!

In this lab, you are going to write yourself an untyped lambda calculus in OCaml and play with it.

You need to complete three files in the lib directory. The key points are:

  • lambda.ml
    • named representation of lambda calculus
    • locally nameless representation of lambda calculus
    • substitution
    • normal forms
  • arithmetic.ml
    • Church numerals and its operations
    • Recursion and the Y combinator
  • combinator.ml
    • the SK combinator theory

It is recommended to do the lab in this order, but the latter two are actually independent.

The comments in these code files constitute the lab guide. Please read them carefully.

Supplementary materials can be found in ZJU-PPL/supplements.

Scoring details can be found in ZJU-PPL/lab-1/Scoring.md.

On how to submit: visit ZJU-PPL/lab-1-submit.

Happy learning, happy coding! Best wishes!