Be My Guest: Normalizing and Compiling Programs using a Host Language
Licentiate thesis, 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, Computer Science and Engineering (Chalmers), Information Security

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 in 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 in 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 in proceeding

Octopi: Säker Programering för Sakernas Internet

Swedish Foundation for Strategic Research (SSF) (RIT17-0023), 2018-03-01 -- 2023-02-28.

Areas of Advance

Information and Communication Technology

Subject Categories

Computer Science

Computer Systems



EDIT 8103


Opponent: Steve Zdancewic

More information

Latest update