Be My Guest: Normalizing and Compiling Programs using a Host Language
Licentiatavhandling, 2020
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
Författare
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.
Styrkeområden
Informations- och kommunikationsteknik
Ämneskategorier
Datavetenskap (datalogi)
Datorsystem
Utgivare
Chalmers