jfdm / olai-lang

Adventures in Imperative languages in Idris2.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

README

I am interested in teaching programming language design, implementation, and theory (PLDI). As part of this endeavour I try to get student projects to help think about interactive environments covering for students to explore interesting topics in PLDI.

My primary interest is that of functional languages. Here I am exploring how to do imperative ones,

Olai is a small imperative language with ML-style references written in Idris2 as a intrinsically-scoped/typed EDSL.

Rather than explicit reduction style semantics, evaluation is through definitional interpretation based on work.

Casper Bach Poulsen, Arjen Rouvoet, Andrew Tolmach, Robbert Krebbers, and Eelco Visser. 2017. Intrinsically-typed definitional interpreters for imperative languages. Proc. ACM Program. Lang. 2, POPL, Article 16 (January 2018), 34 pages. https://doi.org/10.1145/3158104

Note

This is a constant work in progress, and is a snapshot of an academic project that is getting a more functional core: Imperative languages are hard.

Thus, the code is not polished and the reason the code has a partial implementation of session-types….

About

Adventures in Imperative languages in Idris2.

License:BSD 3-Clause Clear License


Languages

Language:Idris 99.3%Language:Makefile 0.7%