Skip to content

psosera/pli-notes

Repository files navigation

Programming Language Implementation Self-Study Notes

Getting Started

Recommended Topic Progression

(Note: this is the general progression PM uses for his courses that introduce Haskell, splashed with compilers/interpreter topics.)

  1. Functional programming in Haskell

    • Expressions and types
    • Basic datatypes and operations
    • Higher-order functions
    • Recursion over lists
  2. Algebraic datatypes

    • Generalized recursion over ADTs
    • Common ADTs, e.g., Maybe
  3. Abstract syntax trees and interpretation

    • The compilation pipeline
    • Arithmetic as an AST
    • Basic language features, e.g., more types, operations
  4. Polymorphism

    • Parametricity: reasoning about polymorphic code
  5. The road to monads

    • Typeclasses
    • Functors and applicative functors
    • Monads and their applications
  6. Parsing and Parser Combinators

    • Formal grammars
  7. Type Systems

    • Formal specification of type systems
    • Advanced types: Type families, GADTs, and dependent types

About

Programming Language Implementation in Haskell - Study Notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published