[plt-scheme] equal? operator

From: Hans Oesterholt-Dijkema (hdnews at gawab.com)
Date: Mon Nov 21 05:28:10 EST 2005

However,

Suppose I have a structure type for which some fields
must be hidden (eg a semphore field) from equal?

Would this be possible?

--
Hans


Hans Oesterholt-Dijkema wrote:

> Thanks!
>
> Danny Yoo schreef:
>
>> On Sun, 20 Nov 2005, Hans Oesterholt-Dijkema wrote:
>>
>>  
>>
>>> Is it possible to extend the equal? operator for new (structure) types
>>> in mzscheme?
>>>   
>>
>>
>> Hi Hans,
>>
>>
>> According to:
>>
>> http://download.plt-scheme.org/doc/299.400/html/mzscheme/mzscheme-Z-H-4.html#node_idx_744 
>>
>>
>> doing equal? on structures should just work, as long as the 
>> structures are
>> inspectable.  For example:
>>
>> ;;;;;;
>>  
>>
>>> (define-struct pair (x y))
>>> (define p1 (make-pair 1 2))
>>> (define p2 (make-pair 1 2))
>>> (equal? p1 p2)
>>>   
>>
>> #f
>> ;;;;;;
>>
>> Here, because the structure isn't inspectable, equal? doesn't work.  But
>> if we make an inspectable structure:
>>
>> ;;;;;;
>>  
>>
>>> (define-struct pair (x y) (make-inspector))
>>> (define p1 (make-pair 1 2))
>>> (define p2 (make-pair 1 2))
>>> (equal? p1 p2)
>>>   
>>
>> #t
>> ;;;;;;
>>
>> equal? now is allowed to do the kind of equality testing we'd expect.
>>
>>  
>>
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme




Posted on the users mailing list.