Searched for: contributor%3A%22Poulsen%2C+C.B.+%28mentor%29%22
(1 - 20 of 22)

Pages

document
Hübner, Paul (author)
Scope graphs provide a way to type-check real-world programming languages and their constructs. A previous implementation that type-checks the proof-of-concept language LM, a language with relative, unordered, and glob imports, does not halt. This thesis discusses a five-step approach for constructing and type-checking a scope graph of an LM...
bachelor thesis 2023
document
Mocanu, Andreea (author)
In this paper, we explore scope graphs as a formal model for constructing type checkers for programming languages that support type classes. Type classes provide a powerful mechanism for ad hoc-polymorphism and code reuse. Nevertheless, the incorporation of type classes into type checkers poses challenges, as it necessitates the resolution of...
bachelor thesis 2023
document
Knapen, Jan (author)
Substructural typing imposes additional constraints on variable usage during type checking and requires specialized approaches to ensure type soundness. In this study, we investigate the implementation of a type checker using scope graphs for languages with substructural type systems. Scope graphs, a data structure representing scoping, provide...
bachelor thesis 2023
document
Mihălăchiuţă, Radu (author)
This paper investigates the viability of using scope graphs to implement type checkers for programming languages, specifically for a Scala subset. The primary objective is to determine if scope graphs can offer a declarative and extensible approach to type checking. To achieve this, we used a phased Haskell library to implement such a type...
bachelor thesis 2023
document
Lemaire, Chris (author)
For algebraic effects and handlers, we know both small-step and big-step operational semantics and we are familiar with denotational semantics. But, what is missing is a structured showing that one is equivalent to the other. On top of this, most efficient implementations of algebraic effects and handlers closely resemble their denotational...
master thesis 2023
document
Baartman, Wesley (author)
In this thesis, we have defined a symbolic execution technique to automatically generate test suites for programs written in functional programming languages that can find the behavioural differences between a reference implementation and a set of potentially different implementations. Our symbolic execution technique uses a constraint solver in...
master thesis 2022
document
Molendijk, Thijs (author)
The dynamic semantics of a programming language formally describe the runtime behavior of any given program. In this thesis, we present Dynamix, a meta-language for dynamic semantics. By writing a specification for a language in Dynamix, a compiler for the language can be derived automatically.<br/><br/>Dynamix specifications compile source...
master thesis 2022
document
Wilms, Ivo (author)
Build systems speed up builds by reusing build step outputs from previous builds when possible.<br/>This requires precise definitions of the dependencies for build steps.<br/>PIE is a build system with precise dependencies, but its task definitions in Java are verbose.<br/>The PIE DSL allows pipeline developers to write concise definitions of...
master thesis 2022
document
Mesters, Brendan (author)
Effect Handler Oriented Programming is a promising new programming paradigm, delivering separation of of concerns with regards to side effects in an otherwise functional environment.<br/>This paper discusses the applicability of this new paradigm to static code analysis programs. <br/>Different code analyzers often have many similar, if not...
bachelor thesis 2022
document
Başaran, Ali (author)
Effect handler oriented programming or EHOP for short, is a new programming paradigm aiming to achieve separation of concerns in code which will lead to modular, readable and maintainable code. Since EHOP is significantly new, it is important to assess and compare it against traditional, commonly used paradigms in order to see if a wider...
bachelor thesis 2022
document
de Kruijff, Pepijn (author)
This paper compares the generalizing capability of multi-head attention (MHA) models with that of convolutional neural networks (CNNs). This is done by comparing their performance on out-ofdistribution data. The dataset that is used to train both models is created by coupling digits from the MNIST dataset with a set amount of background images...
bachelor thesis 2022
document
Todorov, Ivan (author)
Effect handler oriented programming (EHOP) is a recently proposed programming paradigm, which aims to provide a separation of concerns by isolating the handling of side-effects from the main application logic. Nowadays, as the core concepts behind EHOP are being added to more and more programming languages, it is evident that EHOP is slowly but...
bachelor thesis 2022
document
Streef, Sam (author)
Effect handler orient programming (EHOP) is a recently proposed programming paradigm that aims to provide a high-level abstraction in code. Using this paradigm, programmers are able to define operations as an effect, which are implemented by an effect handler. Functions can then use effects, allowing the effect operations to be used in this...
bachelor thesis 2022
document
Oolbekkink, Gerben (author)
Web APIs are being used for increasingly larger and complex use cases. Right now it can be hard to make sure that what is documented about an API is correct everywhere and to know if a change will have impact on the users of a web API. When details are missing in an API specification users of that API need to make assumptions about how the API...
master thesis 2022
document
Pîrcălăboiu, Laura (author)
Recent years have seen a surge of interest for dynamic testing techniques, one of which is symbolic execution. It is the main point of interest of this research paper, in which we give an overview of a framework for symbolically executing definitional interpreters. We will also discuss techniques that we made use of in developing the symbolic...
bachelor thesis 2021
document
Boon Alexaki, Philippos (author)
Definitional interpreters are difficult to test with a pre-defined test suite. This paper tries to determine the effectiveness of automatic testing of definitional interpreters, using concolic execution. First we develop a model for concolic execution of a functional language. Then we identify different categories of common mistakes when writing...
bachelor thesis 2021
document
Juhošová, Sára (author)
Manually testing definitional interpreters and their type checkers is a tedious and error-prone process which can largely benefit from automation. This study evaluates the effectiveness of property-based testing on errors in type checkers. Metrics used include the ability to catch different types of errors as well as the ability to provide a...
bachelor thesis 2021
document
Backx, Ruben (author)
Grading and giving feedback to student submissions automatically is becoming more and more necessary with an increasing amount of students. To verify the correctness of student-written definitional interpreters, a program equivalence approach has been implemented, improved, and extended with new rules to make it more suited specifically for...
bachelor thesis 2021
document
Moraru, Alexandru (author)
This paper presents an evaluation of different generation methods of input expressions to definitional interpreters. We compare three different ways of generating expressions of a specified algebraic data type. The approaches that we describe are QuickCheck, SmallCheck and a uniform generation technique, as laid out in their original papers....
bachelor thesis 2021
document
Bot, Bernard (author)
Compilers translate high-level source code into low-level machine code. To represent source code a compiler uses a language called the intermediate representation (IR). An IR for the compilation of functional languages is continuation-passing style (CPS). It provides convenient abstractions for both data flow and control flow. However, CPS...
master thesis 2021
Searched for: contributor%3A%22Poulsen%2C+C.B.+%28mentor%29%22
(1 - 20 of 22)

Pages