Skip to content

taimoorzaeem/pl-stuff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pl-stuff

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.

Haskell

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.

Racket/Scheme

The Little Schemer

This is really the basics of functional programming and a kind of introduction into the lisp world.

The Seasoned Schemer

Gets into some deeper functional programming concepts like building recursive functions, Y-combinator etc.

The Reasoned Schemer

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.

The Little Prover

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.

The Little Typer

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.

Ocaml

Types and Programming Languages

Currently Reading