Fleshed out the bibliography

This commit is contained in:
ajeffrey@roblox.com 2021-07-19 16:10:41 -05:00
parent 9effcbf36b
commit 38b52ff21b
3 changed files with 74 additions and 7 deletions

View file

@ -50,3 +50,66 @@
isbn = {9781617293023},
}
@PhdThesis{TopQuality,
author = {Bastiaan J. Heeren},
title = {Top Quality Type Error Messages},
school = {U. Utrecht},
year = {2005},
}
@PhdThesis{RepairingTypeErrors,
author = {Bruce J. McAdam},
title = {Repairing Type Errors in Functional Programs},
school = {U. Edinburgh},
year = {2002},
}
@InProceedings{GradualTyping,
author = {Jeremy G. Siek and Walid Taha},
title = {Gradual Typing for Functional Languages},
booktitle = {Proc. Scheme and Functional Programming Workshop},
year = {2006},
pages = {81-92},
}
@InProceedings{WellTyped,
author = {Philip Wadler and Robert Bruce Findler},
title = {Well-typed Programs Cant be Blamed},
booktitle = {Proc. European Symp. Programming},
year = {2009},
pages = {1-16},
}
@InProceedings{Contracts,
author = {Robert B, Findler and Matthias Felleisen},
title = {Contracts for Higher-order Functions},
booktitle = {Proc. Int. Conf. Functional Programming},
year = {2002},
pages = {48-59},
}
@inproceedings{SuccessTyping,
author = {Lindahl, Tobias and Sagonas, Konstantinos},
title = {Practical Type Inference Based on Success Typings},
year = {2006},
booktitle = {Proc. Int. Conf. Principles and Practice of Declarative Programming},
pages = {167178},
}
@InProceedings{IncorrectnessLogic,
author = {O'Hearn, Peter W.},
title = {Incorrectness Logic},
year = {2020},
booktitle = {Proc. Symp. Principles of Programming Languages},
articleno = {10},
pages = {1-32},
}
@Misc{HowToDrawAnOwl,
author = {Know Your Meme},
title = {How To Draw An Owl},
year = {2010},
url = {https://knowyourmeme.com/memes/how-to-draw-an-owl},
}

Binary file not shown.

View file

@ -163,7 +163,7 @@ Program analysis can still flag type errors, for example with red
squiggly underlining. Formalizing this, rather than a judgment
$\Gamma\vdash M:T$, for an input term $M$, there is a judgment
$\Gamma \vdash M \Rightarrow N : T$ where $N$ is an output term
where some subterms are \emph{flagged} $\squnder{N}$. Write $\erase(N)$
where some subterms are \emph{flagged} as having type errors, written $\squnder{N}$. Write $\erase(N)$
for the result of erasing flaggings: $\erase(\squnder{N}) = \erase(N)$.
%% For example the usual
@ -207,8 +207,12 @@ Some issues raised by infallible types:
than genuine errors?
\item How can the goals of an infallible type system be formalized?
\end{itemize}
Related work: lots on type error reporting~\cite{???}, and on
heuristics for program repair~\cite{???}, but not type repair, or on
\emph{Related work}:
there is a large body of work on type error reporting
(see, for example, the survey in~\cite[Ch.~3]{TopQuality})
and on type-directed program repair
(see, for example, the survey in~\cite[Ch.~3]{RepairingTypeErrors}),
but not type repair, or on
the semantics of programs with type errors. Many compilers perform
error recovery during typechecking, but do not provide a semantics
for programs with type errors.
@ -242,7 +246,7 @@ Some issues raised by infallible types:
($\squnder{V} \rightarrow V$) the right one?
\item Will higher-order code require wrappers on functions?
\end{itemize}
Related work: blame analysis~\cite{???}.
\emph{Related work}: gradual typing and blame analysis, e.g.~\cite{GradualTyping,WellTyped,Contracts}
\subsection{Nonstrict types}
@ -295,7 +299,7 @@ Some issues raised by nonstrict types:
not \emph{contavariant}; what impact does this have?
\end{itemize}
Related work: success types~\cite{???} and incorrectness logic~\cite{???}.
\emph{Related work}: success types~\cite{SuccessTyping} and incorrectness logic~\cite{IncorrectnessLogic}.
\subsection{Mixing types}
@ -325,14 +329,14 @@ Some issues raised by mixed-mode types:
only with different flagging?
\end{itemize}
Related work: none???
\emph{Related work}: this appears to be an undererxplored area.
\section{Conclusions}
In this paper, we have presented some of the goals of the Luau type
system, and how they map to the needs of the Roblox creator
community. We have sketched what a solution might look like, all that
remains is to draw the damn owl~\cite{owl}.
remains is to draw the owl~\cite{HowToDrawAnOwl}.
\bibliographystyle{ACM-Reference-Format} \bibliography{bibliography}