I'm taking a course in programming languages and I have a question regarding the writing rules for a recursive
let rec Expression in a static writing system.
To be more specific, we are using the textbook. The essentials of programming languages (3e) – Friedman & Wand.
To give some general information, here is how the author describes the writing rule for a normal
leave Binding expression:
To describe it briefly for anyone who is not familiar with the notation,
kind of is a function used to evaluate the type of the given expression.
According to the typing rule, we evaluate
exp1 First, what would give us type. $ t_1 $. Then we extend our current environment so that $ var $ is assigned to $ t_1 $. Using this new environment, we evaluate the $ body $ From the expression that our final type gives us.
This is how a
let-rec The typing rule of the recursive link is defined:
The main problem I have is how to understand the order of evaluation. According to the writing rule, it seems that we are first expanding the environment with $ var $ Y $ p $, but where do we get the types to map them?