This repository contains programs and write-ups related to programming language theory and research.
It mostly contains some practice work for all the PL related books I have read.
The haskell directory contains solutions of exercises from ezyang's pl-class-public. These exercises were pretty fun and taught me alot about haskell. There is also video lectures on ezyang's youtube channel here PL Class - Spring 2022.
This is really the basics of functional programming and a kind of introduction into the lisp world.
Gets into some deeper functional programming concepts like building recursive functions, Y-combinator etc.
This one is the most unintuitive for me. I learnt a lot of concepts with this in the logical programming world. The core concepts like constraint solving, defining goals and relationships, unification and reification. Good prerequisite for jumping into Prolog.
A good introduction to work with proof assistants. It really teaches the most important concepts in theorem proving such as term rewriting, if-lifting, list induction, star induction and constructing inductive premises for any kind of definitions. If I ever really wanna get into working with proof assistants again, this will be my first pick.
I find this to be a good intro to dependent types as someone with a background in Haskell. The main theme of the book is that types can represent propositions or statements and programs for these types are proofs or evidence of those propositions, also known as Curry-Howard Correspondence. I notice this book to have a lot of hand holding at times which I find somewhat annoying. Besides that, this book is pretty solid.
Currently Reading