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

Locations and Storage