1
0
mirror of https://github.com/dhil/phd-dissertation synced 2026-03-13 02:58:26 +00:00

Minor edits.

This commit is contained in:
2020-01-30 15:53:07 +00:00
parent 35a34ff064
commit c25dbed7c5

View File

@@ -1274,16 +1274,16 @@ operation in order to type check.
A possible inconvenience of the current formulation of
$\tylab{Rec}^\ast$ is that it recursion cannot be mixed with other
computational effects. The reason being that the effect row on
$A \to B\eff \{\dec{Div}:\Zero\}$ is closed. Thus in practical
programming language implementation it would be more convenient to
leave the tail of the effect row open as to allow recursion to be used
in larger effect contexts. The rule formulation is also rather coarse
as it renders every $\Rec$-definition as possibly divergent -- even
definitions that are obviously non-divergent such as the
$\Rec$-variation of the identity function: $\Rec\;f\,x.x$. A practical
implementation could utilise a static termination
checker~\cite{Walther94} to obtain more fine-grained tracking of
divergence.
$A \to B\eff \{\dec{Div}:\Zero\}$ is closed. Thus in a practical
general-purpose programming language implementation it is likely be
more convenient to leave the tail of the effect row open as to allow
recursion to be used in larger effect contexts. The rule formulation
is also rather coarse as it renders every $\Rec$-definition as
possibly divergent -- even definitions that are obviously
non-divergent such as the $\Rec$-variation of the identity function:
$\Rec\;f\,x.x$. A practical implementation could utilise a static
termination checker~\cite{Walther94} to obtain more fine-grained
tracking of divergence.
% By fairly lightweight means we can obtain a finer analysis of
% $\Rec$-definitions by simply having an additional typing rule for
% the application of $\Rec$.