Skip to content

hdnax/type-theory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Type Theory

OCaml Coq Racket

Hands-on implementations of type systems, interpreters, and related concepts. Includes exercises from TAPL, PLAI, Software Foundations, and other sources.

Concepts tracker: Notion

Flashcards: Notion

Companion projects:

  • dboxide: A rewrite of DBML in Rust, learning from rust-analyzer.

I would be glad if anyone helps me point out the error that I made or enlighten me on some aspects.

Setup

This project uses Nix for reproducible development environments.

Books

TAPL — Types and Programming Languages

  • Author: Benjamin C. Pierce
  • Language: OCaml
  • Link: MIT Press

The definitive textbook on type systems. Covers type systems, operational semantics, lambda calculus, subtyping, polymorphism, and type reconstruction.

PLAI — Programming Languages: Application and Interpretation

  • Author: Shriram Krishnamurthi
  • Language: Typed Plait (Racket)
  • Link: plai.org

An interpreter-based approach to programming languages. Covers parsing, desugaring, interpreters, environments, mutation, objects, type systems, and continuations.

SF — Software Foundations

A series of electronic textbooks on the mathematical underpinnings of reliable software using the Coq proof assistant.

Volumes:

  • LF — Logical Foundations
  • PLF — Programming Language Foundations
  • VFA — Verified Functional Algorithms
  • QC — QuickChick: Property-based testing

About

Practice type theory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published