summaryrefslogtreecommitdiff
path: root/sec/systemt.ltx
diff options
context:
space:
mode:
authorChloe Brown <chloe.brown.00@outlook.com>2025-04-25 13:55:28 +0100
committerChloe Brown <chloe.brown.00@outlook.com>2025-04-25 13:55:28 +0100
commit6f11d9a4d40b42c362d2dadb79c2d32caea2e7c0 (patch)
tree4a68d6a38c833b6ec47a25182a3115935ab423ef /sec/systemt.ltx
parent7408a6b9aa210f06912d18cbf19b703446087c0a (diff)
Clarify the table.
Diffstat (limited to 'sec/systemt.ltx')
-rw-r--r--sec/systemt.ltx27
1 files changed, 15 insertions, 12 deletions
diff --git a/sec/systemt.ltx b/sec/systemt.ltx
index 8fcedd1..8b3f173 100644
--- a/sec/systemt.ltx
+++ b/sec/systemt.ltx
@@ -109,24 +109,27 @@ and test equality recursively.
In the remainder of the section we outline four different strategies for
encoding inductive types within System~T. We judge each encoding on whether it
-is a local, simply-typed transformation as well as how easy it is to hand write
-the three fundamental operators. As you can see from the summary in
-\cref{tbl:encodings}, each strategy is lacking in some regard.
+can encode inductive types with higher-order data such as functions; is a local,
+simply-typed transformation that does not require polymorphism or a global
+program analysis; as well as how easy it is to hand write the three fundamental
+operators. As you can see from the summary in \cref{tbl:encodings}, each
+strategy is lacking in some regard.
\begin{table}
\caption{Comparison of encoding strategies for inductive types within
- System~T. The first column assesses if the strategy is a local, simply-typed
- transformation. The remainder indicate whether it is ``easy'' to hand write
- the constructors, fold and pattern matching
+ System~T. The first two columns assesses whether a strategy works for
+ higher-order types and is a local, simply-typed transformation. The
+ remainder indicate whether it is ``easy'' (\ding{51}) or possible
+ (\ding{81}) to hand write the constructors, fold and pattern matching
respectively.}\label{tbl:encodings}
- \begin{tabular}{lcccc}
+ \begin{tabular}{lccccc}
\toprule
- Strategy & Local & Constructors & Fold & Pattern Match \\
+ Strategy & Higher Order & Local & Constructors & Fold & Pattern Match \\
\midrule
- G\"odel & \ding{51} & \ding{51} & \ding{55} & \ding{51} \\
- Church & \ding{55} & \ding{51} & \ding{51} & \ding{55} \\
- Eliminator & \ding{51} & \ding{51} & \ding{55} & \ding{51} \\
- Heap & \ding{51} & \ding{55} & \ding{51} & \ding{51} \\
+ G\"odel & \ding{55} & \ding{51} & \ding{51} & \ding{81} & \ding{51} \\
+ Church & \ding{51} & \ding{55} & \ding{51} & \ding{51} & \ding{81} \\
+ Eliminator & \ding{51} & \ding{51} & \ding{51} & \ding{55} & \ding{51} \\
+ Heap & \ding{51} & \ding{51} & \ding{81} & \ding{81} & \ding{51} \\
\bottomrule
\end{tabular}
\end{table}