Functional Problem Solving (CSC 151 2015F) : Outlines
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] - [FAQ] [Teaching & Learning] [Grading] [Taking Notes] [Rubric] [Remote Access]
Current: [Assignment] [EBoard] [Lab] [Outline] [Reading]
Sections: [Assignments] [EBoards] [Labs] [Outlines] [Readings] - [Examples] [Handouts]
Reference: [Setup] [VM] [Errors] - [Functions A-Z] [Functions By Topic] - [Racket] [Scheme Report (R5RS)] [R6RS] [TSPL4]
Related Courses: [Curtsinger (2015F)] [Davis (2013F)] [Rebelsky (2015S)] [Weinman (2014F)]
Misc: [Submit Questions] - [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] - [Issue Tracker (Course)]
Held: Wednesday, 30 September 2015
Back to Outline 19 - Pause for Breath. On to Outline 21 - Anonymous Procedures, Revisited.
Summary
We consider why and how you name values within a procedure. We also consider why and how you limit access to those names to within the procedure.
Related Pages
Overview
let.let*.Administrivia
letlet.let has the form
(let ((name_1 exp_1) (name_2 exp_2) ... (name_n exp_n)) body)
let has the meaning:
You can use let in a simple expression:
(define values (list 1 4 2 4 1 5 9)) (let ((largest (max values)) (smallest (min values))) (/ (+ largest smallest) 2))
More frequently, we use let within a procedure.
let*let* rather than let.let* has the form
let* has the meaning: