15-150: Principles of Functional Programming

Lecture 1: Evaluation and Typing, Binding and Scope

Today we outline the course and its goals, including referential transparency and parallelism. We start to explore the language SML by looking at its basic types.

We also introduce declarations, which give rise to environments. An environment collects a set of bindings of values to variables which can be used in subsequent declarations or expressions. We also discuss the rules of scope which explain how references to identifiers are resolved.

Key Concepts

Sample Code

copy of slides from lecture

Some Notes on Evaluation