hyper-literate/notes/teachpack/HISTORY
Robby Findler 9e5d391dfb ...
original commit: 66a62c2f50bd2b8c85867be3e415c6a0b3881f20
2000-05-25 15:55:50 +00:00

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.