/volpano-smith

A compile-time privacy enforcing language embedded in Haskell

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Type-based Information-Flow Control

Type systems are not just for types they can ensure that secret data does not leak explicitly, implicitly, and even through covert channels. This repository defines a simple language that does it and uses GADTs to make data leakage a compile time error.

All the source code is in src/VolpanoSmith.hs.

The type system is based on Chapter 9 of "Concrete Semantics" by Tobis Nipkow and Gerwin Klein. This in turn is based on the following papers: