From a0f3fcf238ab30a7f5ad6ea17b90ab6618b87f20 Mon Sep 17 00:00:00 2001 From: "ajeffrey@roblox.com" Date: Thu, 20 Jul 2023 14:45:04 -0700 Subject: [PATCH] Responding to comments by jhui --- papers/hatra23/hatra23.pdf | Bin 399314 -> 399296 bytes papers/hatra23/hatra23.tex | 21 +++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/papers/hatra23/hatra23.pdf b/papers/hatra23/hatra23.pdf index 02a38f4727d8758c5c5a8106fad430a2573b50b8..e8865fa1aaa9789b7dff074af797b450397df40d 100644 GIT binary patch delta 10339 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 diff --git a/papers/hatra23/hatra23.tex b/papers/hatra23/hatra23.tex index 6a6b2736..e659148c 100644 --- a/papers/hatra23/hatra23.tex +++ b/papers/hatra23/hatra23.tex @@ -62,14 +62,18 @@ type-driven tooling is important for productivity. These needs result in a desig \item \emph{strict mode}, aimed at professionals, focused on minimizing false negatives (i.e.~type soundness). \end{itemize} -For both communities, type-driven tooling is important, so we -provide \emph{infallible type inference}, which infers types -even for ill-typed or syntactically invalid programs. +%% For both communities, type-driven tooling is important, so we +%% provide \emph{infallible type inference}, which infers types +%% even for ill-typed or syntactically invalid programs. \section{Progress} -There are two unexpected changes to the type system: \emph{semantic subtyping}, -and treating gradual typing as \emph{type error suppression}. +In the two years since the position paper, we have been making changes +to the Luau type system to achieve the goals we set out. Most of the +changes were straightforward, but two were large changes in how we +thought about the design of the type system: replacing the existing +syntactic subtyping algorithm by \emph{semantic subtyping}, and +treating gradual typing as \emph{type error suppression}. Semantic subtyping interprets types as sets of values, and subtyping as set @@ -103,11 +107,8 @@ inference~\cite{PT00:LocalTypeInference}. Currently, non-strict mode operates in the style of gradual type systems by inferring $\ANY$ as the type for local variables. This does not play well with type-directed tooling, for example $\ANY$ cannot -provide autocomplete suggestions. - -We hope that, together with error suppression, these changes will -result in a significant improvement to type inference and type error -reporting in non-strict mode. +provide autocomplete suggestions. Local type inference will infer more +precise union types, and hence better type-driven tooling. \bibliographystyle{ACM-Reference-Format} \bibliography{bibliography}