Programming Languages in Haskell

Support for EECS 662 at KU

Index
Blog

Programming Languages in Haskell

An introduction to programming languages using Haskell. Written for EECS 662 at The University of Kansas.


Acknowledgements

Thanks

Inspirations and Rationale


Introduction

Notations and Preliminaries

Formal Systems

Monadic Redux


Simple Interpreters

Arithmetic Expressions

Testing AE

Adding Booleans

Testing ABE

Failure


Identifiers

Adding Identifiers

Adding Environments

Adding Booleans Redux

Programs Are Data Structures


Functions

Adding Functions

Scoping

Currying

Elaboration

Reader Monad

Strict and Lazy

Untyped Recursion


Typed Functions

Function Types

Adding Booleans (Redux)

Typed Recursion

More Derived Forms

More Reader Monad

Reader and Either


State

Sequencing

Locations and Storage

Typing Storage

Assignment

State Monad


Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. I would be exceedingly pleased if anyone else finds this useful. Drop me a line if you do!