Chapter 10

Chapter 10 - Teach Yourself Scheme in Fixnum Days [Go to...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Teach Yourself Scheme in Fixnum Days [Go to first , previous , next page; contents ; index ] Chapter 10 Alists and tables An association list , or alist , is a Scheme list of a special format. Each element of the list is a cons cell, the car of which is called a key , the cdr being the value associated with the key. Eg, ((a . 1) (b . 2) (c . 3)) The procedure call (assv k al) finds the cons cell associated with key k in alist al . The keys of the alist are compared against the given k using the equality predicate eqv? . In general, though we may want a different predicate for key comparison. For instance, if the keys were case-insensitive strings, the predicate eqv? is not very useful. We now define a structure called table , which is a souped-up alist that allows user-defined predicates on its keys. Its fields are equ and alist . (defstruct table (equ eqv?) (alist '())) (The default predicate is eqv? -- as for an ordinary alist -- and the alist is initially empty.) We will use the procedure
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This test prep was uploaded on 02/06/2008 for the course CS 4536 taught by Professor Fisler during the Winter '08 term at WPI.

Page1 / 2

Chapter 10 - Teach Yourself Scheme in Fixnum Days [Go to...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online