Now showing items 1-16 of 16

    • Advanced Concepts in Asynchronous Exception Handling 

      Krischer, Roy (University of Waterloo, 2011-01-21)
      Asynchronous exception handling is a useful and sometimes necessary alternative form of communication among threads. This thesis examines and classifies general concepts related to asynchrony, asynchronous propagation ...
    • Completeness of Fact Extractors and a New Approach to Extraction with Emphasis on the Refers-to Relation 

      Lin, Yuan (University of Waterloo, 2008-08-19)
      This thesis deals with fact extraction, which analyzes source code (and sometimes related artifacts) to produce extracted facts about the code. These facts may, for example, record where in the code variables are declared ...
    • C∀ Type System Implementation 

      Moss, Aaron (University of Waterloo, 2019-04-30)
      The C programming language has been an important software development tool for decades. C∀ is a new programming language designed with strong backwards-compatibility to take advantage of widely distributed C programming ...
    • Data Flow Analysis in the Presence of Correlated Calls 

      Rapoport, Marianna (University of Waterloo, 2014-08-19)
      This thesis presents a technique to improve the precision of data-flow analyses on object-oriented programs in the presence of correlated calls. We say that two method calls are correlated if they are polymorphic (have ...
    • Direct and Expressive Type Inference for the Rank 2 Fragment of System F 

      Lushman, Bradley (University of Waterloo, 2007-09-20)
      This thesis develops a semiunification-based type inference procedure for the rank 2 fragment of System F, with an emphasis on practical considerations for the adoption of such a procedure into existing programming ...
    • Exception Handling in C∀ 

      Beach, Andrew James (University of Waterloo, 2021-10-04)
      The C∀ (Cforall) programming language is an evolutionary refinement of the C programming language, adding modern programming features without changing the programming paradigms of C. One of these modern programming features ...
    • Features of a Multi-Threaded Memory Allocator 

      Wasik, Ayelet (University of Waterloo, 2008-01-21)
      Multi-processor computers are becoming increasingly popular and are important for improving application performance. Providing high-performance memory-management is important for multi-threaded programs. This thesis looks ...
    • High Level Concurrency in C∀ 

      Parsons, Colby (University of Waterloo, 2023-09-25)
      Concurrent programs are notoriously hard to write and even harder to debug. Furthermore concurrent programs must be performant, as the introduction of concurrency into a program is often done to achieve some form of speedup. ...
    • Implementing a Functional Language for Flix 

      Yee, Ming-Ho (University of Waterloo, 2016-09-15)
      Static program analysis is a powerful technique for maintaining software, with applications such as compiler optimizations, code refactoring, and bug finding. Static analyzers are typically implemented in general-purpose ...
    • Implementing Overloading and Polymorphism in Cforall 

      Bilson, Richard C. (University of Waterloo, 2003)
      The programming language Cforall extends the C language with, among other things, overloading, parametric polymorphism, and functions that can return multiple values from a single call. This thesis presents an outline ...
    • A Path to DOT: Formalizing Scala with Dependent Object Types 

      Rapoport, Marianna (University of Waterloo, 2019-12-13)
      The goal of my thesis is to enable formal reasoning about the Scala programming language. To that end I present a core calculus that formalizes Scala's i) essential features in a ii) type-safe way and is iii) easy to extend ...
    • Scala with Explicit Nulls 

      Nieto Rodriguez, Abel (University of Waterloo, 2019-12-20)
      The Scala programming language unifies the object-oriented and functional styles of programming. One common source of errors in Scala programs is null references. In this dissertation, I present a modification to the Scala ...
    • Specializing Scala with Truffle 

      You, James (University of Waterloo, 2022-11-24)
      Scala is a generic object-oriented programming language with higher-order abstractions. Programming abstractions in Scala exemplify reusability and extensibility in the context of type safety. In particular, generic ...
    • Static Types with Less Syntax: Locus Types 

      Domurad, Adam (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 ...
    • TreeGen: a monotonically impure functional language 

      Hackett, Alistair Finn (University of Waterloo, 2020-08-19)
      We present TreeGen, an impure functional language designed to express, consume, and validate JSON-like documents, as well as generate text files. The language aims to provide a more reliable and flexible way to create ...
    • A Type System With Containers 

      Thode, Michael (University of Waterloo, 2021-10-04)
      In this thesis, we will introduce the concept of containers as they apply to programming languages. Encapsulation is a common topic in programming languages with well understood benefits. Here, we will investigate its ...

      UWSpace

      University of Waterloo Library
      200 University Avenue West
      Waterloo, Ontario, Canada N2L 3G1
      519 888 4883

      All items in UWSpace are protected by copyright, with all rights reserved.

      DSpace software

      Service outages