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

(So far we have only discussed roughly the first four pages of the evaluation notes. Please refer back to these notes after we discuss patterns.)