[plt-scheme] caution about use of 'pair?' in programs with mutable pairs?

John Clements clements at brinckerhoff.org
Mon Jan 14 15:06:05 EST 2008


I feel lucky not to have been bitten by this, but I can see some  
potentially very painful bugs possible in a switchover from v3 code to  
v4 code; in particular, code that uses 'pair?' to distinguish empty  
from nonempty lists could misclassify mpairs as nulls, leading to some  
very unpleasant "non-fail-fast" errors.  Instead, it would seem to be  
wiser here to use (not (null? ...)) rather than (pair? ...).

FWIW,

John Clements



More information about the plt-scheme mailing list