CSc 520 - Principles of Programming Languages
34 : Scheme -- Introduction

Christian Collberg

Department of Computer Science

University of Arizona

1 Background

2 S-Expressions

More formally, an S-expression is

  1. a literal (i.e., number, boolean, symbol, character, string, or empty list).
  2. a list of s-expressions.

3 S-Expressions -- Examples

Legal Illegal
66
()
(4 5)
((5))
(()())
((4 5) (6 (7)))
(
(5))
()()
(4 (5)
)(

4 S-Expressions as Trees

SExprTree

5 S-Expressions as Function Calls



6 S-Expressions as Functions



7 Function Application

8 Function Application -- Examples



9 Atoms -- Numbers

Scheme has



10 Atoms -- Numbers...



11 Atoms -- Numbers...



12 Atoms -- Strings



13 Atoms -- Booleans



14 Identifiers

Legal Illegal
h-e-l-l-o
give-me!
WTF?
3some
-stance

15 Defining Variables



16 Defining Functions



17 Defining Helper Functions



18 Preventing Evaluation



19 Dr Scheme

20 Dr Scheme

DrScheme1

21 Dr Scheme -- Using TeachPacks

0.4

22 Dr Scheme -- Using the Stepper

0.4

23 References

24 References...

25 Scheme so Far

26 Scheme so Far...



Christian Collberg 2008-05-02