Functional Problem Solving (CSC 151 2013F) : Outlines
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] [FAQ] [IRC] [Teaching & Learning] [Grading]
Current: [Assignment] [EBoard] [Lab] [Outline] [Partners] [Reading]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines] [Partners] [Readings]
Reference: [Setup] - [Functions A-Z] [Functions By Topic] - [Racket] [Scheme Report (R5RS)] [R6RS] [TSPL4]
Related Courses: [Davis (2013F)] [Rebelsky (2010F)] [Weinman (2012F)]
Misc: [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] [Issue Tracker (Course)]
Held: Monday, 9 September 2013
Back to Outline 05 - Drawings as Values. On to Outline 07 - Writing Your Own Procedures.
Summary
We continue our exploration of a simple model of drawings as values. What can we do with circles, squares, and simple ways to transform them?
Related Pages
Overview
Administrivia
Some of you are confused by various drawing issues. So we'll talk about some things I noticed.
In general, you will need to create new drawings with something like
(define *new-drawing* (*drawing-operation* *old-drawing* *val*))
For example
(define bigger-circle (drawing-scale drawing-unit-circle 200))
(define bigger-red-circle (drawing-recolor bigger-circle "red"))
Sometimes, we want to nest these so that we don't have to do so many define operations
(define bigger-red-circle
(drawing-recolor (drawing-scale drawing-unit-circle 200)
"red"))
Note that the operations do not change the underlying drawing. They are similar to
(define x 100)
(define y (square x))
; What's x at this point?
Continue the lab.
Scheme has a strange syntax for procedures. (Okay, it has multiple syntaxes. We've chosen one that's initially strange, but much easier over the long term.)
(define *proc*
(lambda (*inputs*)
*body*))
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] [FAQ] [IRC] [Teaching & Learning] [Grading]
Current: [Assignment] [EBoard] [Lab] [Outline] [Partners] [Reading]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines] [Partners] [Readings]
Reference: [Setup] - [Functions A-Z] [Functions By Topic] - [Racket] [Scheme Report (R5RS)] [R6RS] [TSPL4]
Related Courses: [Davis (2013F)] [Rebelsky (2010F)] [Weinman (2012F)]
Misc: [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] [Issue Tracker (Course)]
Samuel A. Rebelsky, rebelsky@grinnell.edu
Copyright (c) 2007-2013 Janet Davis, Samuel A. Rebelsky, and Jerod Weinman. (Selected materials are copyright by John David Stone or Henry Walker and are used with permission.)

This work is licensed under a Creative Commons Attribution 3.0 Unported License. To view a copy of this
license, visit http://creativecommons.org/licenses/by-nc/3.0/
or send a letter to Creative Commons, 543 Howard Street, 5th Floor,
San Francisco, California, 94105, USA.