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

Author

Nachiappan Valliappan

Chalmers, Computer Science and Engineering (Chalmers), Information Security

Exponential Elimination for Bicartesian Closed Categorical Combinators

ACM International Conference Proceeding Series,;(2019)p. 1-13

Paper in proceeding

Simple Noninterference by Normalization

Proceedings of the ACM Conference on Computer and Communications 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 (SSIF 2011)

Computer Science

Computer Systems

Publisher

Chalmers

EDIT 8103

Online

Opponent: Steve Zdancewic

More information

Latest update

12/15/2020