[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Types in Scheme
It is with some regret and with anticipation of a barrage of heated
replies that I make the following statements. If the goals of our
type predicates are to enable the writing of portable code and to make
the writing of some other forms of code easier, then I believe that we
really need two sets of type predicates: one based on the functionlity
intended for an object and the other based on its representation.
I agree. This is the old intensional versus extensional dichotomy,
made clear by Andy's message in which pairs could be implemented as
vectors and vice versa. The portable type predicates want to be
extensional (does this object behave as a pair?), the unportable
type predicates are intensional (is this object a pair?). We obviously
want to ask both types of questions, and it is important that we keep
their differences clear.