92 lines
2.8 KiB
Plaintext
92 lines
2.8 KiB
Plaintext
------------------------------------------------------------------------
|
|
|
|
VERSION 101 [Tue Oct 26 22:28:38 CDT 1999]
|
|
|
|
|
|
* TERMINOLOGY: We decided to eliminate the terminology "teaching
|
|
library", because it is easily confused with a plain library. As of
|
|
release 101, we refer to one of these objects as a
|
|
|
|
teachpack
|
|
|
|
* USAGE: Inside of DrScheme, the menu choice called "Language|Set
|
|
library to..." is now called "Language|Set teachpack to...".
|
|
|
|
* LOCATION of Files: The distributed teachpacks are found at
|
|
|
|
$PLTHOME/teachpack/
|
|
PLTHOME is the location of the PLT software
|
|
|
|
The htdp subdirectory contains those files that matter to students who
|
|
use HtDP.
|
|
|
|
* CHANGES in individual teachpacks: The most important and most visible
|
|
change in the teachpack support concerns
|
|
|
|
hangman.ss
|
|
|
|
It now provides two GUI interfaces: (1) hangman for three-letter words
|
|
and (2) hangman-list for words of arbitrary length. See the teachpack
|
|
documentation for details.
|
|
|
|
The teachpack
|
|
|
|
master.ss
|
|
|
|
now exports the procedure _master_, which is exactly like the procedure
|
|
_repl_ in the old master-lib.ss library.
|
|
|
|
The corresponding exercises in HtDP have been rewritten and are posted
|
|
on the HtDP Web site.
|
|
|
|
* REMINDER: The *purpose* of teachpacks is to supplement student programs
|
|
with code that is beyond the teaching languages (Beginner, Intermediate,
|
|
Advanced). For example, to enable students to play hangman, we supply a
|
|
teachpack that
|
|
- implements the random choosing of a word
|
|
- maintains the state variable of how many guesses have gone wrong
|
|
- manages the GUI.
|
|
All these tasks are beyond students in the third week and/or impose
|
|
nothing memorization of currently useless knowledge on students.
|
|
|
|
A teachpack is a signed unit that imports the interface:
|
|
|
|
plt:userspace^
|
|
|
|
The exported names are added to the read-eval-print loop at the end of
|
|
an EXECUTE step.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Version 100
|
|
|
|
The plt:userspace^ signature does not contain the
|
|
graphics library. In order to use the graphics library in your
|
|
teachpacks, use a compound unit and link in graphics directly. For example:
|
|
|
|
(require-library "graphics.ss" "graphics")
|
|
|
|
(define-signature my-teachpack^ (four))
|
|
|
|
(define my-teachpack
|
|
(unit/sig my-teachpack^
|
|
|
|
(import plt:userspace^
|
|
graphics^)
|
|
|
|
'...
|
|
|
|
(define four 4)))
|
|
|
|
(compound-unit/sig
|
|
(import [P : plt:userspace^])
|
|
(link [G : graphics^ ((require-library "graphicr.ss" "graphics")
|
|
(P : mzlib:file^)
|
|
(P : mred^))]
|
|
[TP : my-teachpack^ (my-teachpack P G)])
|
|
(export (open TP)))
|
|
|
|
The graphics^ signature contains all of the primitives in the
|
|
graphic.ss library. Search for "graphics" in Help Desk for more
|
|
information on those primitives.
|