Skip to content

formal proof of type preservation of the dictionary passing transform for system f

Notifications You must be signed in to change notification settings

Mari-W/System-Fo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formal Proof of Type Preservation of the Dictionary Passing Transform for System F

Thesis | Presentation

Overview

Abstract

Most popular strongly typed programming languages support function overloading. In combination with polymorphism this leads to essential language constructs, for example typeclasses in Haskell or traits in Rust.
We introduce System Fo, a minimal language extension to System F, with support for overloading and polymorphism. Furthermore, we prove the Dictionary Passing Transform from System Fo to System F to be type preserving using Agda.

Structure

├── presentation                          # latex code for presentation
├── proofs                                # contains formalized proofs
│   ├── SystemF.agda                      # specification for System F
│   ├── SystemFo.agda                     # specification for System Fo
│   └── DictionaryPassingTransform.agda   # transform + type preservation proof
└── thesis                                # latex code for thesis 

About

formal proof of type preservation of the dictionary passing transform for system f

Topics

Resources

Stars

Watchers

Forks