Skip to content

njayinthehouse/type-theory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Type Theory

This repository contains my learnings on the topic of Type Theory, tutorialized for the purpose of simplifying the subject for any interested. I’m doing this study with a special emphasis on type systems in programming languages, but I hope to also document some other cool related fields as well - wherever the wind (and my supervising professor) takes me. :)

Following this Tutorial

I hope to update this repository with my notes at least once every two weeks with a new topic. If you wish to follow this tutorial, just stay tuned to this repository.

For the examples and coding exercises, I will be using Haskell. It will not be necessary to really learn Haskell per se (the language is quite readable and a reader with a basic knowledge of functional programming and mathematics should be able to understand it), but barebones knowledge of the language would help.

My notes will be presented as a series of org files. If you’re following the tutorial online, this shouldn’t pose a problem for you. However, if you want to view an offline copy, I would recommend familiarizing yourself with:

  • git (A version control software)
  • emacs (A text editor)
  • org mode (A feature of emacs)

Lastly, feel free to raise issues if you feel a topic has not been sufficiently explained. I would also encourage contributions from interested learners on subtopics and tangential topics of interest.

Prerequisites

A basic knowledge on the below topics should be enough to understand the content of this course. Most of these topics can also be picked up on the fly, as we do not go into great detail with any of them.

  1. Set Theory and Relations
    • Sets, Functions and Relations
    • Reflexivity, Symmetry and Transitivity of Relations
  2. Sequences
  3. Mathematical Induction
    • Ordinary Induction
    • Complete Induction
    • Lexicographic Induction
  4. Haskell

References

For the purpose of this course, I will be following Types and Programming Languages, by Dr. Benjamin C. Pierce, as my primary reference. Any other references will also be listed below, and at the end of each chapter.

  1. Types and Programming Languages, Benjamin C. Pierce, 2002

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors