Definitions (15m)

Write structure definitions for the following items. Also, write the name of each function that is produced by the definition as well as a contract for that function. (By writing the contract for, say, make-card, you are deciding what type of data the structure should hold.)

1. A card has two fields, suit and rank.

2. A student is known by a name and a snark-rank.

3. A domo has no fields. 

4. A function has a nameparameters, and body. You may abbreviate parameters as params and function as fun. 

5. The empty-node has no fields.

You should be able to do this without referencing online documentation. We will use structures extensively in the implementation of interpreters; it must be second nature to define, make, and interact with record-based structures in Scheme. 

I assume you have practiced further while preparing for class; if you need more practice, see me.

Creative Commons License This work is licensed under a Creative Commons BY-SA 3.0 License.