Be My Guest: Normalizing and Compiling Programs using a Host Language
Licentiatavhandling, 2020

In programming language research, normalization is a process of fundamental importance to the theory of computing and reasoning about programs.
In practice, on the other hand, compilation is a process that transforms programs in a language to machine code, and thus makes the programming
language a usable one. In this thesis, we investigate means of normalizing and compiling programs in a language using another language as the "host".
Leveraging a host to work with programs of a "guest" language enables reuse of the host's features that would otherwise be strenuous to develop.

The specific tools of interest are Normalization by Evaluation and Embedded Domain-Specific Languages, both of which rely on a host language for their purposes. These tools are applied to solve problems in three different domains: to show that exponentials (or closures) can be eliminated from a categorical combinatory calculus, to propose a new proof technique based on normalization for showing noninterference, and to enable the programming of resource-constrained IoT devices from Haskell.

programming languages

embedded domain-specific languages

normalization by evaluation

EDIT 8103
Opponent: Steve Zdancewic


Nachiappan Valliappan

Chalmers, Data- och informationsteknik, Informationssäkerhet

Exponential Elimination for Bicartesian Closed Categorical Combinators

Proceedings of the 21st International Symposium on Principles and Practice of Programming Languages 2019,; (2019)p. 1-13

Paper i proceeding

Simple Noninterference by Normalization

PLAS'19: Proceedings of the 14th ACM SIGSAC Workshop on Programming Languages and Analysis for Security,; (2019)p. 61-72

Paper i proceeding

Towards Secure IoT Programming in Haskell

Haskell 2020 - Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2020,; (2020)p. 136-150

Paper i proceeding

Octopi: Säker Programering för Sakernas Internet

Stiftelsen för Strategisk forskning (SSF) (RIT17-0023), 2018-03-01 -- 2023-02-28.


Informations- och kommunikationsteknik


Datavetenskap (datalogi)




EDIT 8103


Opponent: Steve Zdancewic

Mer information

Senast uppdaterat