UWSpace will be migrating to a new version of its software from July 29th to August 1st. UWSpace will be offline for all UW community members during this time.
Browsing University of Waterloo by Supervisor "Richards, Gregor"
Now showing items 1-6 of 6
-
Formal Semantics and Mechanized Soundness Proof for Fast Gradually Typed JavaScript
(University of Waterloo, 2018-08-31)As dynamic scripting languages are increasingly used in industry in large-scale projects, a need has arisen for more some of the convenient features of statically typed languages. This led to the development of gradual ... -
Gradual C Programming for Typed Lua
(University of Waterloo, 2019-01-22)The work presented in this thesis deals with the problem of enhancing the performance of dynamically-typed programming languages by integrating features from statically-typed programming languages. Statically-typed languages ... -
No Zombie Types: Liveness-Based Justification For Monotonic Gradual Types
(University of Waterloo, 2021-08-24)Gradual type systems with the monotonic dynamic semantics, such as HiggsCheck implementing SafeTypeScript, are able to achieve decent performance, making them a viable option for JavaScript programmers seeking run-time-checkable ... -
Reasoning About Foreign Function Interfaces: Blame and Nondeterministic Formal Semantics
(University of Waterloo, 2018-08-31)Foreign function interfaces (FFIs) are commonly used as a way to mix programming languages. In such systems, a program written in a host language calls functions written in a guest language from within the same program. ... -
Static Types with Less Syntax: Locus Types
(University of Waterloo, 2017-05-01)Optionally and gradually-typed languages allow types to be introduced to dynamic code as needed. While this approach allows some gradual movement from dynamically to statically-typed code, it requires rewriting ... -
Type-Aware Optimizations with Imperfect Types
(University of Waterloo, 2024-05-10)JavaScript, a programming language originally designed for web browsers, has become ubiquitous, experiencing adoption across multiple platforms. Its dynamic type system and prototype-based object orientation are well-known ...