Lecture overview -- Keyboard shortcut: 'u'  Previous page: An implementation of letrec -- Keyboard shortcut: 'p'  Next page: Binding of free names - examples -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Lecture 1 - Page 43 : 49
Programming Paradigms
Introduction to Functional Programming in Scheme
Binding of free names

Static or dynamic binding of free names in lambda expressions

A name n is free in some function F if n is applied, but not defined in F

  • Static binding

    • A free name n in F is bound in the (textual) context of F (in the source program)

    • Safe and efficient

    • The Scheme approach

  • Dynamic binding

    • A free name n in a function F is bound in the context of the call of F

    • Potentially unsafe and inefficient

    • Used in early Lisp systems - used in Emacs Lisp