next-700-module-systems

PhD research ;; What's the difference between a typeclass/trait and a record/class/struct? Nothing really, or so I argue.

View on GitHub

The Next 700 Module Systems

Extending Dependently-Typed Languages to Implement Module System Features In The Core Language

This repository contains the research proposal for my doctoral studies at McMaster University under the supervision of Jacques Carette and Wolfram Kahl.

What are and what should be the module systems of DTLs? DTLs remove distinctions between packaging systems and so using pedestrian modules systems is not necessarily the best route.

rather than by hand.

◈ Website ◈

A super simple description of this work, for the layman, can be found here.

Prototype and a Preprint

◈ Prototype ◈ MathScheme: 200+ Math Theories in (Clickable) Agda ◈ A Language Feature to Unbundle Data at Will ◈ Slides ◈ Youtube

The Context Library ---An Agda Counterpart of the PackageFormer Prototype

◈ PhD Thesis ; Youtube ◈ Slides ◈ AIM 2020: Youtube; Slides

Proposal

◈ PDF ◈ HTML ◈ Slides ◈ translate code ◈ monoid code ◆ Demo

Related

◈ Metaprogramming Agda — IFIP Program Generation Talk