15-150: Principles of Functional Programming

Lecture 1: Evaluation and Typing, Binding and Scope

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

We also introduced 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 discussed 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