### add some precisions on a example

parent 5d6c115a
 ... @@ -218,9 +218,9 @@ above to an environment that already is the result of $\Refinef$, and so on. The ... @@ -218,9 +218,9 @@ above to an environment that already is the result of $\Refinef$, and so on. The algorithm should compute the type environment as a fixpoint of the algorithm should compute the type environment as a fixpoint of the function $X\mapsto\Refine{e,t}{X}$. Unfortunately, an iteration of $\Refinef$ may function $X\mapsto\Refine{e,t}{X}$. Unfortunately, an iteration of $\Refinef$ may not converge. As an example, consider the (dumb) expression $\tcase not converge. As an example, consider the (dumb) expression$\tcase {x x}{\Any}{e_1}{e_2}$. If$x:\Any\to\Any$, then every iteration of {x x}{\Any}{e_1}{e_2}$. If $x:\Any\to\Any$, then when refining the then'' branch, every iteration of $\Refinef$ yields for $x$ a type strictly more precise than the type deduced in the $\Refinef$ yields for $x$ a type strictly more precise than the type deduced in the previous iteration. previous iteration (because of the $\varpi.0$ case). The solution we adopt in practice is to bound the number of iterations to some number $n_o$. This is obtained by the following definition of $\Refinef$\svvspace{-1mm} The solution we adopt in practice is to bound the number of iterations to some number $n_o$. This is obtained by the following definition of $\Refinef$\svvspace{-1mm} ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!